【题目来源】
洛谷:B2094 不与最大数相同的数字之和 - 洛谷
【题目描述】
输出一个整数数列中不与最大数相同的数字之和。
【输入】
输入分为两行:
第一行为 \(N\)(\(N\) 为接下来数的个数,\(N≤100\));
第二行为 \(N\) 个整数,数与数之间以一个空格分开,每个整数的范围是 \(−1000,000\) 到 \(1000,000\)。
【输出】
输出为 \(N\) 个数中除去最大数其余数字之和。
【输入样例】
3
1 2 3
【输出样例】
3
【算法标签】
入门# #语法基础#
【代码详解】
#include <bits/stdc++.h>
using namespace std;int n; // 数组元素个数
int a[105]; // 存储数组元素的容器
int sum = 0; // 数组元素总和
int maxx = -1e6; // 数组中的最大值,初始化为极小值int main()
{// 输入数组元素个数cin >> n;// 输入数组元素并计算总和和最大值for (int i = 1; i <= n; i++){cin >> a[i];sum += a[i]; // 累加计算总和maxx = max(maxx, a[i]); // 更新最大值}// 遍历数组,移除所有最大值for (int i = 1; i <= n; i++){if (a[i] == maxx) // 如果是最大值{sum -= maxx; // 从总和中减去}}// 输出移除最大值后的总和cout << sum << endl;return 0;
}
【运行结果】
3
1 2 3
3
