九度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 }

 

 
posted @ 2017-02-24 21:40  琴影  阅读(305)  评论(0编辑  收藏  举报