杭电ACM1092题目 Problem Description Your task is to Calculate th

问题描述:

杭电ACM1092题目 Problem Description Your task is to Calculate the sum of some integers.Input Input
#include"stdio.h"
int main()
{
int a,b,n;
a=0;
while(scanf("%d",&n)!=EOF){
while(n--){
scanf("%d",&b);
a=a+b;
}
printf("%d\n",a);
}
return 0;
}
错在哪里啊啊,说的基础点的额
1个回答 分类:综合 2014-12-10

问题解答:

我来补答
1、你的a=0放的地方不对,你这样的话只有第一次的结果是对的.应该把它放到循环里面
2、题目要求的是N为0时结束,你的代码在N为0时还做了一次输出
3、虽然题目没说整数的范围,但是可能会因为int类型不够,加法会产生溢出
再问: #include"stdio.h" int main() { int n,b=0,c; scanf("%d",&n)!=EOF; while((n--)!=0){ scanf("%d",&c); b+=c; } printf("%d",b); return 0; } 这个是不是之前的错误一样。。。可是造你说的改了不行么,,,可不可以帮我把这第二个改下正确,,,谢谢
再答: 你这个代码主要是一个错误: 题目说了会有多组测试(N会有多个),你的代码只输入了一次N就结束了 在你的代码基础上的话可以这样改吧 #include"stdio.h" int main() { int n,a,c; while(scanf("%d",&n),n) { a = 0; while((n--)!=0) { scanf("%d",&c); a += c; } printf("%d\n",a); } return 0; } 测试过,Accepted
 
 
展开全文阅读
剩余:2000