描述 输入n个不相等的正整数, 并将这n不相等的正整数中的最大值与第一个数交换。(n<100; 数据都在1~1000之间) 输入 两行: 第一行,一个正整数n,表示数据个数; 第二行,n个正整数,1~1000之间。 输出 一行,交换之后的数据。 输入样例 1 6 3 4 2 5 8 9 输出样例1 9 4 2 5 8 3 c++代码
时间: 2024-02-24 17:53:32 浏览: 101
以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, maxIndex = 0;
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
if (a[i] > a[maxIndex]) {
maxIndex = i;
}
}
int temp = a[0];
a[0] = a[maxIndex];
a[maxIndex] = temp;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
输入样例:
```
6
3 4 2 5 8 9
```
输出样例:
```
9 4 2 5 8 3
```
相关问题
从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。输出这两个最大数和平均值,顺序为较小最大数,平均值(保
好的,以下是Python代码实现:
```python
n = int(input("请输入大于1小于100的正整数n:"))
nums = []
for i in range(n):
num = int(input("请输入第{}个整数:".format(i+1)))
nums.append(num)
avg = sum(nums) / len(nums)
max1 = float("-inf") # 小于平均值的最大数
max2 = float("-inf") # 大于平均值的最大数
for num in nums:
if num < avg and num > max1:
max1 = num
elif num > avg and num > max2:
max2 = num
print("较小最大数:{}".format(max1))
print("平均值:{}".format(avg))
print("较大最大数:{}".format(max2))
```
这段代码首先读入n和n个整数,并计算它们的平均值。然后遍历这n个整数,更新小于平均值的最大数和大于平均值的最大数。最后输出这两个最大数和平均值。
从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。输出这两个最大数和平均值,顺序为较小最大数,平均值(保留两位小数点),较大最大数。
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
avg = sum(nums) / n
less_max = float('-inf')
greater_max = float('-inf')
for num in nums:
if num < avg and num > less_max:
less_max = num
elif num > avg and num > greater_max:
greater_max = num
print('{:.2f} {:.0f} {:.0f}'.format(less_max, avg, greater_max))
```
解释一下:
首先读入正整数 n 和 n 个整数存入列表 nums 中。
计算平均值 avg。
然后循环遍历 nums 列表中的每个数 num,如果 num 小于平均值并且大于当前的 less_max,就将 less_max 更新为 num;如果 num 大于平均值并且大于当前的 greater_max,就将 greater_max 更新为 num。
最后使用格式化字符串输出 less_max、avg 和 greater_max,其中 {:.2f} 表示输出一个小数点后保留两位的浮点数,{:.0f} 表示输出一个整数,中间的空格用来分隔输出结果。
阅读全文