题目链接
题目描述
输出一个整数数列中不与最大数相同的数字之和。
输入格式
输入分为两行:
第一行为N(N为接下来数的个数,N <= 100);
第二行为N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。
输出格式
输出为N个数中除去最大数其余数字之和。
Sample Input
3
1 2 3
Sample Output
3
思路
先找到最大值,再判断是否与最大值相同,如果不同就累加求和。
C++代码:
#include<bits/stdc++.h>
using namespace std;
int num[10005], n;
int main()
{
while(cin >> n)
{
long long sum = 0;
memset(num, 0, sizeof(num));
for(int i = 0; i < n; i++)
cin >> num[i];
sort(num, num + n);
for(int i = 0; i < n; i++)
if(num[i] != num[n - 1]) sum += num[i];
cout << sum << endl;
}
return 0;
}