9 条题解
-
4
#include <iostream> #include <cmath> using namespace std; int a[105], n, sum; int maxn = -10000000; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; maxn = max(maxn, a[i]); } for (int i = 1; i <= n; i++) { if (a[i] != maxn) { sum += a[i]; } } cout << sum; return 0; }
解析: 1.定义输入变量 n ,开个数组,定义 统计变量 sum。
2.用 for 循环获取所有数字。
3.给变量 max 赋初始值,再用 for 循环挨个比较数字大小,以获取最大值。
4.又双叒叕用 for 循环挨个判断数字是否为最大数字,不是就累加到 sum 。
5.输出。
6.快点赞👍 👍 ,我才没有不想要点赞呢!
-
2
思路: 获取N以后创建一个长度为105的数组,用于存储这N个数,因为-100000<=每个数<-1000000,也就是说最小值为-1000000,那我们就将最大值先设为-1000000,然后遍历数组,更新最大值。
算出最大值以后,再遍历一次,如果这个数与最大值不相等,那么加到求和用的变量中,最后输出
//没学,但我还是来写了 #include <iostream> #include <cmath> using namespace std; int main() { int n; cin >> n; int num[105]; for(int i = 0;i < n;i++) cin >> num[i]; int maxn = -1000000; for(int i = 0;i < n;i++) maxn = max(maxn,num[i]); int sum = 0; for(int i = 0;i < n;i++) { if (num[i] != maxn) sum += num[i]; } cout << sum; return 0; }
-
0
算出大壁灯(maxn),累加不等于老邓的α【默认皮肤(i)】
#include <iostream> #include <cmath> using namespace std; int a[105], n, sum; int maxn = -1000005; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; maxn = max(maxn, a[i]); } for (int i = 1; i <= n; i++) { if (a[i] != maxn) { sum += a[i]; } } cout << sum; return 0; }
简单,点赞!
-
0
#include<iostream> using namespace std; int main() { int n,a[100],sum=0; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } int max=-99999999;//把max设为极低的数,求最大值 for(int i=0;i<n;i++) { if(a[i]>max) { max=a[i]; } } for(int i=0;i<n;i++) { if(a[i]!=max) { sum+=a[i]; } } cout<<sum; }
最复杂代码,谁来挑战人脑编译😄
-
0
解析
- 算出最大值maxn
- 遍历数组,累加不等于maxn的a[i];
易错点
可能存在多个最大值,所以计算所有数字之和减去最大值的方法行不通。
题解
#include <iostream> #include <cmath> using namespace std; int a[105], n, sum; int maxn = -1000005; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; maxn = max(maxn, a[i]); } for (int i = 1; i <= n; i++) { if (a[i] != maxn) { sum += a[i]; } } cout << sum; return 0; }
- 1
信息
- ID
- 285
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 1550
- 已通过
- 726
- 上传者