您当前的位置: 首页 > 

1113:不与最大数相同的数字之和

发布时间:2019-02-10 13:12:57 ,浏览量:0

题目限制

时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9644 通过数: 4994

【题目描述】

输出一个整数数列中不与最大数相同的数字之和。

【输入】

输入分为两行: 第一行为N(N为接下来数的个数,N ≤ 100); 第二行N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。

【输出】

输出为N个数中除去最大数其余数字之和。

【输入样例】

3 1 2 3

【输出样例】

3

【来源】

NO

思路

很简单的一道题,找出最大值就可以了,但是这里有一个坑!

代码分析
#include  int main () { int n; scanf("%d",&n); int a[n+1],max,sum=0; for(int i=0;i<n;i++) { scanf("%d",&a[i]); if(i==0) max=a[0]; else { if(a[i]>max) max=a[i]; } sum+=a[i]; } printf("%d",sum-max); return 0; }

这是一开始的代码,找出最大值,累加数组的每一个元素,最后再减去最大值,这里的坑就是,最大值可能不止是一个!

正确代码
#include  int main () { int n; scanf("%d",&n); int a[100000],max=-1000000,sum=0; for(int i=0;i<n;i++) { scanf("%d",&a[i]); if(a[i]>max) max=a[i]; } for(int i=0;i<n;i++) { if(a[i]!=max) sum+=a[i]; } printf("%d",sum); return 0; }
万事皆小心!
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    109966博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0457s