(用指针)输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
#include<stdio.h>
int main()
{
int change(int a[]);
int a[10],*p;
int i;
printf("请输入10个数字:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
p=a;
change(p);
printf("交换后的数组为:\n");
for(i=0;i<10;i++)
printf("%-3d",a[i]);
return 0;
}
int change(int a[])
{
int *max,*min,t,k;
int i;
max=min=a;
for(i=0;i<10;i++)
{
if(*(a+i)>*max) max=a+i;
if(*(a+i)<*min) min=a+i;
}
if(min!=a&&max!=a)
{
k=*min;
*min=*(a+9);
*(a+9)=k;
k=*min;
*min=*(a+9);
*(a+9)=k;
}
else
{
t=*max;
*max=*a;
*a=t;
}
return 0;
}