用C语言实现1到100的连乘,帮忙看看这道程序哪里出错,thx

main(){longn,s;n=1;s=1;while(n<=100){s*=n;n++;}printf("1*2*...*%d=%d\n",n-1,s);}... main() { long n,s; n=1; s=1; while(n<=100) { s*=n; n++; } printf("1*2*...*%d=%d\n",n-1,s); } 展开
 我来答
tidecao2006
2011-11-04 · TA获得超过1229个赞
知道小有建树答主
回答量:842
采纳率:0%
帮助的人:793万
展开全部
100!的结果是
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000。
你觉得long类型的变量能存下吗?只能用其他如字符串的手段
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
淦海瑶s1
2011-11-04 · TA获得超过3646个赞
知道大有可为答主
回答量:3341
采纳率:100%
帮助的人:768万
展开全部
main()
{
long n,s;
n=1;
s=1;
while(n<=100)
{
s*=n;
n++;
}
printf("1*2*...*%d=%d\n",n-1,s);
//这个地方的第二个%d不可以,应该用%l,估计long都不够用的
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lampzhou
2011-11-04 · TA获得超过707个赞
知道小有建树答主
回答量:1208
采纳率:56%
帮助的人:635万
展开全部
1到100的连乘已经远远超出了long的范围。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4083208
2011-11-04
知道答主
回答量:24
采纳率:0%
帮助的人:9.3万
展开全部
printf("1* 2* ...* %d = %ld\n", n-1,s);
再有把条件换成while (n <= 10) 100的阶乘是个非常大的数,估计用Long是不够的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tidus_forever
2011-11-04 · TA获得超过4399个赞
知道大有可为答主
回答量:2782
采纳率:100%
帮助的人:1861万
展开全部
long 应该用 %ld
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式