有一个长度为10的整数序列,其中最大值和最小值是唯一的,且不会出现在序列的第一和最后位置。编写程序,把序列中的最大值与第一个数交换,最小值与最后一个数交换,然后输出转换好的序列。输入样例(数据间以空格分隔)输出样例(数据间以逗号分隔,末尾没有多余的空格):使用c++
时间: 2024-02-29 11:52:17 浏览: 70
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
好的,这是一个简单的排序问题,下面是C++代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[10];
for(int i = 0; i < 10; i++) {
cin >> a[i];
}
int max_idx = 0, min_idx = 0;
for(int i = 1; i < 10; i++) {
if(a[i] > a[max_idx]) {
max_idx = i;
}
if(a[i] < a[min_idx]) {
min_idx = i;
}
}
if(max_idx == 0) {
max_idx = min_idx;
}
swap(a[0], a[max_idx]);
if(min_idx == 9) {
min_idx = max_idx;
}
swap(a[9], a[min_idx]);
for(int i = 0; i < 10; i++) {
cout << a[i];
if(i != 9) {
cout << ",";
}
}
return 0;
}
```
输入样例:
```
1 2 3 4 5 6 7 8 9 10
```
输出样例:
```
10,2,3,4,5,6,7,8,9,1
```
阅读全文