论坛风格切换切换到宽版
  • 656阅读
  • 19回复

C语言帝进来吧...这次的问题会比较难了 [复制链接]

上一主题 下一主题
离线max007158.
 
发帖
2034
C币
-60516
威望
379
贡献值
1
银元
-2
铜钱
4587
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-04-25
.
编写一个循环程序,输入 N 值,输出 N 的阶乘。N 等于 20 时,输出怎么是负数了?
#include "stdio.h"
main()
{int i,n;long s;
s=1;
i=1;
printf("Please input\n");
scanf("%d",&n);
do{s*=i;
     i++;
}while(i<=n);
printf("%d!=%1d\n",n,s);
}
这是我写的程序
但是要求n=20时候显示n is too big!
不知道怎么加入 还望高手解答!
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线cnzol.
发帖
1942
C币
-141092
威望
321
贡献值
2
银元
0
铜钱
4152
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-07

我要崩溃了
离线veblen.
发帖
1940
C币
-60826
威望
339
贡献值
1
银元
-3
铜钱
4247
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-07

这帖子沉得。。。
离线62712345.
发帖
2088
C币
-306683
威望
380
贡献值
1
银元
-3
铜钱
4663
人人网人气币
0
只看该作者 地板  发表于: 2010-04-07

小弟!跪求~~~!
离线h1821388.
发帖
2209
C币
-235179
威望
414
贡献值
1
银元
-6
铜钱
4968
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-07

召唤C语言帝!
离线gjj3000gjj.
发帖
2013
C币
-140552
威望
393
贡献值
1
银元
-3
铜钱
4575
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-07

输入20 要求输出n is too big!
离线xinjiao.
发帖
2067
C币
-60723
威望
386
贡献值
1
银元
-2
铜钱
4636
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-07

20的阶乘太大了
离线ygzhd.
发帖
1968
C币
-236010
威望
330
贡献值
6
银元
0
铜钱
4280
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-07

我来告诉你 吧 首先要告诉你 你不应该在wow吧里 发这种帖子 因为这里不专业\
你去www.csdn.com

原因就是计算机表达范围是有限的

-32767~~~32768    之间所以超过这个范围就会溢出  
离线mirxx.
发帖
2121
C币
-152545
威望
392
贡献值
1
银元
-2
铜钱
4818
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-07

#include"stdio.h"
main()
{int i,n;long s;
s=1;
i=1;
printf("Please input n:\n");
scanf("%d",&n);
if(n>=20)
     printf("n is too big!\n");
else
      {while (i<=n);
       {i=i*n;
        i++;
       }
       printf("%d\n",i);
      }
}
现在写成这样 小于20又没反应了

离线yingouqlj.
发帖
2158
C币
-139181
威望
397
贡献值
1
银元
0
铜钱
4718
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-07

没看出来 n 和 s 的关系, 貌似 n 没赋值。
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个