输出一个整数数列中不与最大数相同的数字之和。 输入 输入分为两行: 第一行为 � ( � N(N 为接下来数的个数, � ≤ 100 N≤100); 第二行为 � N 个整数,数与数之间以一个空格分开,每个整数的范围是 − 1 , 000 , 000 −1,000,000 到 1 , 000 , 000 1,000,000。 输出 输出为 � N 个数中除去最大数其余数字之和。c++代码用数组实现
时间: 2024-01-18 16:01:50 浏览: 129
好的,这是一个 C++ 的解决方案,使用数组实现:
```c++
#include <iostream>
#include <algorithm>
int main() {
int n;
std::cin >> n;
int nums[n];
for (int i = 0; i < n; i++) {
std::cin >> nums[i];
}
int max_num = *std::max_element(nums, nums + n);
int sum_except_max = 0;
for (int i = 0; i < n; i++) {
if (nums[i] != max_num) {
sum_except_max += nums[i];
}
}
std::cout << sum_except_max << std::endl;
return 0;
}
```
这个代码和之前的版本非常相似,唯一的区别是使用了数组 `nums` 替代了 `vector`。在 C++ 中,数组的大小必须在编译时确定,所以我们需要先读入 `n`,然后定义一个大小为 `n` 的数组 `nums`。
其他的部分和之前的代码基本一致。
希望这个代码对你有帮助!
相关问题
输出一个整数数列中不与最大数相同的数字之和。 输入 输入分为两行: 第一行为 � ( � N(N 为接下来数的个数, � ≤ 100 N≤100); 第二行为 � N 个整数,数与数之间以一个空格分开,每个整数的范围是 − 1 , 000 , 000 −1,000,000 到 1 , 000 , 000 1,000,000。 输出 输出为 � N 个数中除去最大数其余数字之和。
好的,这是一个简单的算法问题。我可以为你提供一个 Python 的解决方案:
```python
n = int(input())
nums = list(map(int, input().split()))
max_num = max(nums)
sum_except_max = sum(num for num in nums if num != max_num)
print(sum_except_max)
```
解释一下这段代码的思路:
首先,我们读入了一个整数 n,表示接下来有 n 个数。然后,我们读入 n 个数,并将它们存储在一个列表 nums 中。接下来,我们使用 `max()` 函数找出 nums 中的最大值,并将其存储在变量 max_num 中。然后,我们使用列表解析式计算出除最大值以外的所有数字之和,并将其存储在变量 sum_except_max 中。最后,我们输出 sum_except_max。
希望这可以帮助你解决问题!
输出一个整数数列中不与最小数相同的数之和。 输入分为两行: 第一行为N(N为接下来数的个数,N ≤ 100); 第二行N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。
好的,让我来回答你的问题。以下是代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
min_num = min(nums)
sum = 0
for num in nums:
if num != min_num:
sum += num
print(sum)
```
这段代码会先读取输入的整数个数N,然后读取N个整数,将它们存储在一个列表中。接着,它会找到列表中的最小值,然后遍历整个列表,将不等于最小值的数累加起来,最后输出累加和。
阅读全文