描述
有一个长度为n的整数序列。
请写一个程序,先把序列中的最小值与第一个数交换,后把最大值与最后一个数交换。
输出转换好的序列。
注意:区分先后,先把最小值与第一个的交换,完成后,再查找最大值,与最后一个数字交换
输入描述
输入包括两行。
第一行为正整数n(1≤n≤10)。
第二行为n个正整数组成的序列。
输出描述
输出转换好的序列。数据之间用空格隔开。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #include <bits/stdc++.h> using namespace std; int main(){ int in[10]; int n,i,max,min,a,b,c,d; cin >> n; cin >> in[0]; max = in[0]; min = in[0]; b = 0; c = 0; for (i=1;i<n;i++){ cin >> in[i]; if(max<in[i]){ max=in[i]; b=i; } if(min >in[i]){ min=in[i]; c=i; } } if(b==0 && c==n-1) { a = in[b]; in[b]=in[c]; in[c]=a; }else if(b==0) { d=in[b]; in[b]=in[n-1]; in[n-1]=d; a=in[c]; in[c]=in[0]; in[0]=a; }else if(c == n-1) { a=in[c]; in[c]=in[0]; in[0]=a; d=in[b]; in[b]=in[n-1]; in[n-1]=d; }else{ a=in[c]; in[c]=in[0]; in[0]=a; d=in[b]; in[b]=in[n-1]; in[n-1]=d; } for(i=0;i<n;i++) { cout << in[i] << " "; } return 0; }
|