//输入10个整数,将其中最小的数与第一个数对换,
//把最大的数与最后一个数对换。
/* */
//解答:
#include<stdio.h>
void swap(int *a,int *b)
{ int temp;
temp=*a;
*a=*b;
*b=temp;
}
void exchange(int *arr,int n)
{ int *p=arr;
int *min=arr;
int *max=arr;
int i;
for(i=0;i<n;i++)
{ if(*min>*(p+i))
min=(p+i);
}
for(i=0;i<n;i++)
{ if(*max<*(p+i))
max=(p+i);
}
if((*max==*p)&&(*min==*(p+n-1)))
swap(min,max);
else
{ swap(p,min);
swap(p+n-1,max);
}
}
int main()
{ int arr[10];
int i;
for(i=0;i<10;i++)
{ scanf("%d",&arr[i]);
}
exchange(arr,10);
for(i=0;i<10;i++)
{ printf("%-5d", arr[i]);
}
return 0;
}
C语言习题集(034)
于 2023-12-29 15:54:55 首次发布