问题 A: C语言-数字交换
时间限制: 1 Sec 内存限制: 128 MB
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
经验总结
这里要注意,不论是先交换最小还是最大,要考虑再交换之后更新最小或者最大数的下标,以免第二次交换错误,题目本身并不难~~
AC代码
#include <cstdio>
int main()
{
int a[10];
while(~scanf("%d",&a[0]))
{
int max=0,min=0;
for(int i=1;i<10;i++)
{
scanf("%d",&a[i]);
if(a[max]<a[i])
max=i;
if(a[min]>a[i])
min=i;
}
int temp=a[0];
a[0]=a[min];
a[min]=temp;
if(max==0)
max=min;
temp=a[9];
a[9]=a[max];
a[max]=temp;
for(int i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}