XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[其他] 求助:新手编程,答案就是算不对

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [其他] 求助:新手编程,答案就是算不对  
 
longlivelf2
小水手
Rank: 1



UID 31056
精华 0
积分 1
帖子 1
阅读权限 10
注册 2008-2-11
状态 离线
求助:新手编程,答案就是算不对

以下是计算从正整数a加到正整数b所得的和sum的程序:
#include <stdio.h>
int main()
{
   int a,b,sum;
   
   a=1;
   b=100;
   sum=(a+b)*(b-a+1)/2;
   
   printf("%d",sum);
   
   return 0;
}
   

程序是这样的,问题来了:令a=1,b=100,run,得到结果5050,正确;
                                   但是令a=100,b=1000,run,得到的结果却是4030,明显错误的答案。
请问是怎么回事?
2008-2-11 22:50#1
查看资料  Blog  发短消息  顶部
 
XiaoHui
管理员
Rank: 9Rank: 9Rank: 9


UID 2
精华 1
积分 4861
帖子 4851
阅读权限 200
注册 2001-1-23
来自 猎户星座
状态 离线
代码看不出任何问题。也许是你改赋值的时候代码改错了。

还有一个原因可能就是因为人品问题


飞往猎户星座....
2008-2-14 10:02#2
查看资料  访问主页  Blog  发短消息  顶部
 
zaihunixueer
小水手
Rank: 1



UID 31075
精华 0
积分 1
帖子 1
阅读权限 10
注册 2008-2-19
来自 安徽省阜阳市
状态 离线
给提几个建议:
1.给sum赋个初值
2.是不是超出了整型的上限?
3.sum=(a+b)*(b-a+1)/2;把这段语句分开测试下.
我是菜鸟.


我不是懒人,人懒不是我.
2008-2-19 13:22#3
查看资料  Blog  发短消息  QQ  顶部
 
XiaoHui
管理员
Rank: 9Rank: 9Rank: 9


UID 2
精华 1
积分 4861
帖子 4851
阅读权限 200
注册 2001-1-23
来自 猎户星座
状态 离线
楼主的问题, 确实有点怪异. 自己单步调试一下看看

不会真是 xiaohui 所说的人品问题吧?


飞往猎户星座....
2008-2-19 16:27#4
查看资料  访问主页  Blog  发短消息  顶部
 
qq341341
小水手
Rank: 1



UID 12798
精华 0
积分 2
帖子 2
阅读权限 10
注册 2003-11-4
来自 湖南长沙
状态 离线
换成这个看是不是你要的数
sum=(a+b)*b/2;
2008-2-28 00:11#5
查看资料  Blog  发短消息  顶部
 
king_kobe
小水手
Rank: 1



UID 31173
精华 0
积分 2
帖子 2
阅读权限 10
注册 2008-3-12
状态 离线
超出int的范围了吧
2008-3-13 14:37#6
查看资料  Blog  发短消息  顶部
 
king_kobe
小水手
Rank: 1



UID 31173
精华 0
积分 2
帖子 2
阅读权限 10
注册 2008-3-12
状态 离线
在VC情况下运行得到495550
  VC的int 比TC的INT范围更大
2008-3-13 14:44#7
查看资料  Blog  发短消息  顶部
 
brucellllllll
小水手
Rank: 1



UID 30072
精华 0
积分 10
帖子 10
阅读权限 10
注册 2007-5-9
状态 离线
超限了,用long就好
不用给sum赋初值


http://www.cpper.com/c/
2008-7-26 17:00#8
查看资料  Blog  发短消息  顶部
 
tanglei2233
小水手
Rank: 1


UID 32033
精华 0
积分 34
帖子 34
阅读权限 10
注册 2008-8-7
来自 云南昆明
状态 离线
没啥问题嘛
2008-8-7 10:43#9
查看资料  访问主页  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 08:47 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver