[求助]从0加到任何int数的程序。
我想算一个从0加到任何数的程序,代码如下,可是到确认的时候就溢出了,大家帮忙看一下。 注:我是新手。 #include <stdio.h> main() { int Int_fanwei; int Int_i; int Int_sum; Int_i=0; Int_sum=0; printf("input fanwei= \n"); scanf("%d",&Int_fanwei); printf("Int_fanwei=%d"); for(Int_i=0;Int_i<Int_fanwei;Int_i++) Int_sum=Int_i+Int_sum;
return Int_sum; }
搜索更多相关的解决方案:
int
----------------解决方案--------------------------------------------------------
1、
翻一下书,看一下printf里面用到格式化输出字符串的时候怎么用的,
2、你是要求1+2+…+i 还是1+2+…+(i-1)?
3、你的计算出结果后没输出?
----------------解决方案--------------------------------------------------------
你输入的数是多少?最好用长整形
[此贴子已经被作者于2005-5-27 20:30:19编辑过]
----------------解决方案--------------------------------------------------------
C语言,哈哈
----------------解决方案--------------------------------------------------------
#include <stdio.h>
int main()
{
int Int_fanwei;
int Int_i;
int Int_sum;
Int_i=0;
Int_sum=0;
printf("input fanwei= \n");
scanf("%d",&Int_fanwei);
printf("Int_fanwei=%d\n",Int_fanwei);
for(Int_i=0;Int_i<=Int_fanwei;Int_i++)
Int_sum+=Int_i;
printf("The sum is %d\n",Int_sum);
return 0;
}
----------------解决方案--------------------------------------------------------
从数值上说:
(标题说是 “int 类型”,题目却是“任意数”?)
如果需要由0加到65535呢?
65535是个整数,它使用 int 类型也能表示,应该算在其中(而且题目的意思也说明应该能加到这个数,因为由零开始,所以它是无符号的);
要能避免溢出,装下这些数值,那应该用更大的类型,如三楼“牛虻”建议的长整形。
从算法上说:
假设是任意整数,21亿整也是个整数。
假设要加到21亿呢?
那要循环21亿次,那需要花的时间似乎并不化算。
要进行这样的数值计算应该在最大限度上禁止循环,
因为没有循环且同时实现的话,我认为这才是正确是想法,
如果数学不错的话,这种求阶和的题目非常容易就能达到这种理想的方法(数学上有求阶和的公式,自己也试试推一下,或许能得到更好的)。
[此贴子已经被作者于2005-5-28 0:02:30编辑过]
----------------解决方案--------------------------------------------------------
谢谢大家了,受益多多哦,以后还得请大家多多指点。
我刚刚报名学的计算机自考,却没有C语言基础,而课程中的案例都是用C描述的,所以只好重头学起了。
我最开始是自学的VB,一会发个小程序大家看看
----------------解决方案--------------------------------------------------------
[原创]打靶归来
一个小游戏,原代码附后。做了好久了,大家不要笑。 ----------------解决方案--------------------------------------------------------