输入一个数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