您的位置:首页 > 编程语言 > C语言/C++

1863 Problem A C语言-数字交换

2018-02-09 10:18 134 查看
问题 A: C语言-数字交换

时间限制: 1 Sec 内存限制: 128 MB

献花: 63 解决: 24

[献花][花圈][TK题库]

题目描述

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。

输入

10个整数

输出

整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)

样例输入

2 1 3 4 5 6 7 8 10 9

样例输出

1 2 3 4 5 6 7 8 9 10

注意点:

最大的元素可能在第一个元素的位置,因此要进行特殊判断

#define _CRT_SECURE_NO_WARNINGS
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <queue>
#include <map>

using namespace std;

const int INF = (1 << 30);

int main()
{
#ifdef _DEBUG
freopen("data.txt", "r+", stdin);
#endif // _DEBUG

int num[11];
int min, max;
while (cin >> num[0])
{
min = max = 0;
for (int i = 1; i < 10; ++i)
{
cin >> num[i];
if (num[min] > num[i])
min = i;
if (num[max] < num[i])
max = i;
}

swap(num[min], num[0]);
if (max == 0)
swap(num[min], num[9]);
else swap(num[max], num[9]);
for (int i = 0; i < 10; ++i)
{
cout << num[i] << " ";
}
cout << endl;
}

return 0;
}
/**************************************************************
Problem: 1863
User: Sharwen
Language: C++
Result: 升仙
Time:0 ms
Memory:1704 kb
****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codeup 1863