输入一个数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
****************************************************************/原文地址:http://blog.csdn.net/wtyvhreal/article/details/42212541