| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:怎么错了?关于求N!。。
只看楼主 加入收藏
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:0 
回复 10楼 devi
呵呵。。
只要有一颗持着的心。。你会成功地。。
一年前在大二学了一学期的C。。到了大三,一看C什么都不会了。
现在又开始自学了。。
哎。。人有时很贱啊。。
2009-10-15 21:02
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
楼主的程序是要求N的阶乘吧,应该是N*N-1*N-2*N-3...省略括号
楼主的程序只能输出(n-1)*(n-1)的值,算法本身就存在问题,楼主的for循环的从哪开始从哪结束都没搞清楚。
而且在算m的过程中,并没有累加,而是重复(重复的计算,不断的重新赋值给m,而且少重复一步)

我可好玩啦...不信你玩玩^_^
2009-10-16 17:21
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
说忘了,还有一个致命的错误scanf("%d\n",&n);
这算什么格式= =!
我寝室伙计问我scanf("%d ",&n);输入了还是运行不了,我说输入的时候除了输入整型还要输入个空格,然后他输入:2口。(口代表空格)。还是不出结果。
我说:“我说少空格就输空格?不能输\0么

[ 本帖最后由 pgy 于 2009-10-16 17:28 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-10-16 17:24
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
无语楼主那个写的实在牛
2009-10-16 20:10
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
#include <stdio.h>
 
int main()
{
    int i=1,s=1,n=0;
    printf("input:");
    scanf("%d",&n);
 
    for(; i<=n; i++)
    {
        s*=i;
    }
 
    printf("\n%d的阶乘=%d\n",n,s);
    return 0;   
}
2009-10-17 03:37
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
回复 13楼 pgy
空格的ascii码为32,'\0'的ascii码为0
2009-10-17 03:39
fuyang163
Rank: 2
等 级:论坛游民
帖 子:36
专家分:59
注 册:2009-4-13
收藏
得分:0 
#include<stdio.h>   
void mian()   
{   
    int n,i ;  
    long m=1;  
    scanf("%d\n",&n);   
    for(i=1;i<=n;i++)   
    {      
        m=m*i;   
    }   
    printf("n!=%l\n",m);   
}
2009-10-17 07:51
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 16楼 fgchg911
实践决定一切,可以有以下输入方法(按楼主的错程序)
n\0
n'32'
n'0'
以上输入均能输出(n-1)*(n-1)

我可好玩啦...不信你玩玩^_^
2009-10-17 09:05
wangdezi
Rank: 1
等 级:新手上路
帖 子:13
专家分:9
注 册:2009-10-16
收藏
得分:0 
高手也是在低级过来了的!!!!!!!!!!!!努力!!!!!!!
2009-10-17 11:58
Quavarion
Rank: 2
等 级:论坛游民
帖 子:60
专家分:28
注 册:2009-10-9
收藏
得分:0 
#include<stdio.h>
void main()
{
   int n,b=1,c,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
      b*=i;
         printf("%d!=%d\n",n,b);
        getch();
 
}
 
2009-10-17 21:52
快速回复:怎么错了?关于求N!。。
数据加载中...
 
   



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

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