问题描述
有多组测试数据。对每组测试数据,找到其中唯一的最大值,然后将其与该组数据的最后一个数进行交换,输出交换后的该组数据。
输入描述
每组测试数据的第一行为正整数N(≤10),第二行为N个用空格隔开的整型数据。当N为0时,表示输入结束。
输出描述
若干行,每行输出交换后的该组数据,用空格隔开。
样例输入
5
8 2 5 1 4
3
3 2 1
0
样例输出
4 2 5 1 8
1 2 3
代码如下:
#include<stdio.h>
int main(void)
{
int n,a[10],i,max,m;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=0;
for(i=1;i<n;i++)
{
if(a[max]<a[i])
max=i;
}
m=a[max];
a[max]=a[n-1];
a[n-1]=m;
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n");
}
return 0;
}