时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:3777
解决:1421
-
题目描述:
-
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
-
输入:
-
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
-
输出:
-
对于每组输入,输出交换后的结果。
-
样例输入:
-
2 1 3
-
样例输出:
-
3 1
-
答疑:
- 解题遇到问题?分享解题心得?讨论本题请访问: http://t.jobdu.com/thread-7777-1-1.html
#include<stdio.h>
int main()
{
int data[20];
int i,n,ma,mi;
int MAX,MIN;
while(scanf("%d",&n) != EOF)
{
for(i = 0; i < n; i++)
{
scanf("%d",&data[i]);
}
MAX = data[0];
MIN = data[0];
ma = mi = 0;
for(i = 0; i < n; i++)
{
if(data[i] > MAX)
{
MAX = data[i];
ma = i;
}
}
//printf("MAX=%d\n",MAX);
for(i = 0; i < n; i ++)
{
if(data[i] < MIN)
{
MIN = data[i];
mi = i;
}
}
//printf("MIN=%d\n",MIN);
int p;
p = data[mi];
data[mi] = data[ma];
data[ma] = p;
for(i = 0; i < n-1; i++)
{
printf("%d ",data[i]);
}
printf("%d\n",data[n-1]);
}
}