竞赛
考级
输出的和 = 全部输入的数组之和 - 最大的数字 * 最大的数字出现的次数,一次循环就可以解出问题,不需要多次循环
#include<bits/stdc++.h> using namespace std; int a[110]; int main(){ int n; cin>>n; int max=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>=max){ max=a[i]; } } int sum=0; for(int i=1;i<=n;i++){ if(a[i]==max){ sum+=0; }else{ sum+=a[i]; } } cout<<sum; return 0; }
C++: #include<bits/stdc++.h> using namespace std;int a[1009];int main(){int n;cin>>n;int zd=-9999999;int ans=0;for(int i=1;i<=n;i++){cin>>a[i];ans+=a[i];zd=max(zd,a[i]);}for(int i=1;i<=n;i++){if(a[i]==zd)ans-=a[i];}cout<<ans;return 0;}
虽然数组大小不大,但用vector还是没有问题的。 祝大家刷题快乐!大家一起拿罐头!
提交答案之后,这里将显示提交结果~