九度oj 题目1053:互换最大最小数
题目1053:互换最大最小数
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:7538
解决:3049
- 题目描述:
-
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
- 输入:
-
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
- 输出:
-
对于每组输入,输出交换后的结果。
- 样例输入:
-
2 1 3
- 样例输出:
-
3 1
1 #include <iostream> 2 #include <algorithm> 3 #include <vector> 4 using namespace std; 5 6 int main(){ 7 int n, temp, i; 8 vector<int> v; 9 while(cin >> n){ 10 v.clear(); 11 for(i = 0; i < n; i++){ 12 cin >> temp; 13 v.push_back(temp); 14 } 15 int max = v[0], min = v[0], max_n = 0, min_n = 0; 16 for(i = 1; i < n; i++){ 17 if(v[i] > max){ 18 max = v[i]; 19 max_n = i; 20 } 21 if(v[i] < min){ 22 min_n = i; 23 min = v[i]; 24 } 25 } 26 swap(v[min_n], v[max_n]); 27 cout << v[0]; 28 for(i = 1; i < n; i++){ 29 cout << " " << v[i]; 30 } 31 cout << endl; 32 } 33 return 0; 34 }
越努力,越幸运