| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 886 人关注过本帖
标题:请问这个求 n !的代码哪错了?
只看楼主 加入收藏
big菜鸟
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-4
收藏
 问题点数:0 回复次数:14 
请问这个求 n !的代码哪错了?
#include <stdio.h>
int main(void)
{
    int i,n,sum=1;
   
    while(scanf("%d",&n)!=EOF&&n>1&&n<=10)
    {
        for(i=1;i<=n;i++)
            {
                sum=sum*i;
            }
    }
   
    printf("%d\n",sum);
    return 0;
}
搜索更多相关主题的帖子: include 
2014-05-04 17:58
big菜鸟
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-4
收藏
得分:0 
2014-05-04 18:03
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
错在哪里?按你程序的意思似乎是要不停地求 n 的阶乘,直到输入 EOF 或不在 2-10 之间就停止?
那你得把 前面的 sum=1 移到循环里面,后面的 printf 也移进循环。
2014-05-04 18:05
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
当然是哪个循环你应该理解。
2014-05-04 18:07
zx604109134
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-5-4
收藏
得分:0 
为什么要这么编写呢
2014-05-04 18:14
zx604109134
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-5-4
收藏
得分:0 
直接不用scanf函数,一个for循环就搞定了
2014-05-04 18:15
big菜鸟
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-4
收藏
得分:0 
回复 3 楼 top398
没搞好呢。
描述
输入一个值n,计算n!

(1<n<=10)



输入每行一个n值
以EOF作为结束。输出输入n!,每行一个。
2014-05-04 18:19
big菜鸟
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-4
收藏
得分:0 
回复 6 楼 zx604109134
描述
输入一个值n,计算n!

(1<n<=10)



输入每行一个n值
以EOF作为结束。输出输入n!,每行一个。
2014-05-04 18:20
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
是输入一次就计算并输出一次,还是先全部输入后,再全部输出结果?这在逻辑上要作不同的处理,如是前者,你上面的代码改改就行。如是后者,你需要用一个数组来保存输入值或者中间结果。
2014-05-04 18:21
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
你顶楼的代码仅仅完成了单次输出。
2014-05-04 18:24
快速回复:请问这个求 n !的代码哪错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027017 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved