杭电ACM1001为什么不给过

Marvel_Z 2014-07-24 09:08:23
我的代码:
#include<stdio.h>
int main()
{
int num1=1,num2;
int sum=0;
while (scanf("%d",&num2) != EOF)
{
sum = num2*(num1 + num2) / 2;
printf("%d\n\n", sum);
}
return 0;
}

和网上所谓的标准答案输出也是一样的啊?为什么标准答案能过我的不能过
...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hbber97 2015-12-14
  • 打赏
  • 举报
回复
应在循环中将sum重置为0
Iflyinsky2013 2014-07-25
  • 打赏
  • 举报
回复
你的输出和输入样式怎么看都对不上题目的样式啊~~~~~还有,楼上正解,中间运算结果(num1+num2)要越界。。。。。。。。。
mxway 2014-07-25
  • 打赏
  • 举报
回复
num2*(num1 + num2)这个超出了int范围,题目只保证结果在int型范围。不代表中间结果也在int型范围。 if(num2%2==0) { sum = num2/2*(num1+num2); } else { sum = (num1+num2)/2*num2; }
longburulin 2014-07-25
  • 打赏
  • 举报
回复
多了一个换行
羽飞 2014-07-25
  • 打赏
  • 举报
回复
http://acm.hdu.edu.cn/showproblem.php?pid=1001 这是题目链接 楼主注意了,最后一个数字,不能输出\n\n
KangRoger 2014-07-25
  • 打赏
  • 举报
回复
题目是什么啊?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧