-
题目描述:
-
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
-
输入:
-
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
-
输出:
-
对于每组输入,输出交换后的结果。
-
样例输入:
-
2 1 3
-
样例输出:
-
3 1
-
答疑:
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7777-1-1.html
#include <iostream>
using namespace std;
int main()
{
int n,i,j,a[21],min,max,k,kk;
while(cin>>n)
{
k=kk=0;
for(i=0;i<n;i++)
{
cin>>a[i];
}
min=a[0];
max=a[0];
for(i=1;i<n;i++)
{
if(a[i]<min)
{
min=a[i];
k=i;
}
}
for(j=1;j<n;j++)
{
if(a[j]>max)
{
max=a[j];
kk=j;
}
}
a[k]=max;
a[kk]=min;
for(i=0;i<n;i++)
{
if(i!=0)
cout<<" ";
cout<<a[i];
}
cout<<endl;
}
return 0;
}
/**************************************************************
Problem: 1053
User: vhreal
Language: C++
Result: Accepted
Time:0 ms
Memory:1520 kb
****************************************************************/