输入:任意十个数
示例:0 1 2 3 4 5 6 7 8 9
结果:9 1 2 3 4 5 6 7 8 0
想了好久了,不知道怎样将所有数一起比较,希望可以用代码解答一下疑惑
#include<stdio.h>
int main()
{
int a[10],t,i,max=0,min=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i] > a[max])
max=i;
if(a[i] < a[min])
min=i;
}
if(min == 0) //当a[0]为最小值时,下一步max和0交换后,会将最小值交换到max位置,所以min需要修改为max
min = max;
t = a[max];
a[max] = a[0];
a[0] = t;
t = a[min];
a[min] = a[9];
a[9] = t;
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
循环比较,记录最大值、最小值所对应的位置,然后跟第一个和最后一个进行交换。
#include<stdio.h>
int main()
{
int t[10],temp,i,max,min;
max=0;min=0;
for(i=0;i<10;i++)
scanf("%d",&t[i]);
for(i=1;i<10;i++){
if(t[max]<t[i]) max=i;
if(t[min]>t[i]) min=i;
}
temp=t[max];
t[max]=t[0];
t[0]=temp;
temp=t[min];
t[min]=t[9];
t[9]=temp;
for(i=0;i<10;i++)
printf("%d ",t[i]);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!