最简单的写法,不需要用到数组!
2024-12-12 22:29:55
发布于:广东
138阅读
0回复
0点赞
输出的和 = 全部输入的数组之和 - 最大的数字 * 最大的数字出现的次数,一次循环就可以解出问题,不需要多次循环
#include<iostream>
using namespace std;
int main(){
int n, m=0, m_t=0, s=0, a;
cin>>n;
for(int i=0;i<n;i++){
cin>>a;
if(a>m){
m = a;
m_t = 1;
} else if(a==m){
m_t++;
}
s += a;
}
s -= m*m_t;
cout << s;
return 0;
}
全部评论 2
你这个其实是不对的,
如果输入
5
-1 -3 -5 -5 -7 -9
全比0小,就错了.
看看我的
#include <iostream>
using namespace std;
int main(){
int n,arr[109];
cin>>n>>arr[0];int max=arr[0],sum=0;//最大是第一个数
for(int i=1;i<n;i++){
cin>>arr[i];//记录
}
for(int i=1;i<n;i++){
if(max<arr[i]){max=arr[i];}//找出最大
}
for(int i=0;i<n;i++){
if(arr[i]!=max){sum+=arr[i];}//最大不要,其他求和
}
cout<<sum<<'\n';
return 0;
}2026-06-07 来自 广东
1简直是个天才!
2026-03-02 来自 山东
1











有帮助,赞一个