我也编了一个,不知道怎么回事运行不对,我自己都有点晕了,还是楼主的算法好一点,我对指针还不怎么熟,望大家给我指点指点
int input(int *p,int n)
{int i;
for(i=0;i<n;i++,p++)
scanf("%d",p);//要去掉*
}
int sort(int *p,int n)
{int temp,t,i;
temp=*p;
for(i=1;i<n;i++,p++) /*求最小*/
if(temp>*p)t=i;
else t=0;
p=p-n-1;//你这是想干什么呢,如果想指到最后一个数字的话,你用错了
*p=*(p+t);*(p+t)=temp;//这里如果是想替换,也不对
p=p-t;//变量利用严重了点,没看懂你这里的想法
i=n-1;//这里你的i已经赋值了,后面再用,有问题
temp=*(p+i);
p=p-i;
for(i=0;i<n-1;i++,p++) /*求最大*/
if(*p<temp)t=i;
*p=*(p-n+t);*(p-n+t)=temp;//没实现调换的目的
}
int print1(int *p,int n)
{int i;
for(i=0;i<n;i++,p++)
printf("%2d",*p);
}
main()
{int a[10];
int *q;
q=a;
input(q,10);
q=a;
sort(q,10);
q=a;
print1(q,10);
getch();//要调用getch库函数,需要添加#include<conio.h>头文件
}
基本上你的程序很混乱,指针调用有问题,但是要改的话,还不好改
看来俺功力也有限
好马不吃回头草 然而,我不是好马 可见,坏马也不吃回头草