输出一个整数数列中不与最大数相同的数字之和。
输入分为两行:
第一行为?(N?为接下来数的个数,N≤100);
第二行为?N?个整数,数与数之间以一个空格分开,每个整数的范围是??1000,000 到?1000,000。
输出为?N?个数中除去最大数其余数字之和。
输入 #1
3
1 2 3
输出 #1
3
这道题非常简单,只需要找到最大值并且判断它等不等于最大值就行啦!
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[10005];
int main(){
cin>>n;
int maxx=0;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>maxx) maxx=a[i]; //maxx用来找出最大的数
}
int s=0; //s用来计算不与最大数相同的数字之和
for(int i=1;i<=n;i++){
if(a[i]!=maxx) s+=a[i]; //如果a[i]不等于最大值,那么相加
}
cout<<s;
return 0;
}