互换最大最小数
题目描述
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
输入描述:
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
输出描述:
对于每组输入,输出交换后的结果。
示例1
输入
2
1 3
输出
3 1
1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 #include <stack> 7 using namespace std; 8 int a[100010]; 9 int main() 10 { 11 int n; 12 while(cin>>n){ 13 if(n==1){ 14 cin>>a[0]; 15 cout<<a[0]<<endl; 16 continue; 17 } 18 for(int i=0;i<n;i++){ 19 cin>>a[i]; 20 } 21 int smax=a[0],smin=a[0]; 22 int sm=0,sn=0; 23 for(int i=0;i<n;i++){ 24 if(a[i]>smax){ 25 smax=a[i]; 26 sm=i; 27 } 28 if(a[i]<smin){ 29 smin=a[i]; 30 sn=i; 31 } 32 } 33 swap(a[sm],a[sn]); 34 for(int i=0;i<n-1;i++){ 35 cout<<a[i]<<" "; 36 } 37 cout<<a[n-1]<<endl; 38 } 39 return 0; 40 }