把最大的数与最后一个数对换。写3个函数:1 输入10个数。2 进行处理。3输出10个数
对照了一下书上的~~发现可以更简单点~(其实书上那答案也有错的~并不是对换,而是替换。。
我顺便改了一下~~^.^)
main()
{int number[10];
aa(number);
bb(number);
cc(number);
}
aa(int *array)
{int i;
for(i=0;i<10;i++)
scanf("%d,",&array[i]);
}
bb(int *array)
{int *max,*min,t;
int *p;
p=max=min=array;
for(p=array+1;p<array+10;p++)
if(*max<*p) max=p;
else if(*min>*p) min=p;
t=*max;*max=array[9];array[9]=t;
t=*min;*min=array[0];array[0]=t;
}
cc(int *array)
{ int *p;
for(p=array;p<array+9;p++)
printf("%d,",*p);
printf("%d\\n",array[9]);
getch();
}
当然~如果不用到调用函数的话还可以更更更更简单点~(简约不简单哦~)
main()
{int a[10],i,*p,*max,*min,t;
max=min=a;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(p=a;p<a+10;p++)
if(*max<*p) max=p;
else if(*min>*p) min=p;
t=*min;*min=a[0];a[0]=t;
t=*max;*max=a[9];a[9]=t;
for(p=a;p<a+9;p++)
printf("%d,",*p);
printf("%d",a[9]);
getch();
}