| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1410 人关注过本帖
标题:小女求教,求阶乘,此函数哪里有问题啊。大侠指教
只看楼主 加入收藏
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:20 
小女求教,求阶乘,此函数哪里有问题啊。大侠指教
#include<stdio.h>
int ff(int n)
{
int i;
for(i=1;i<n;i++)
   n=n*i;
return(n);
}

 main()
 {
 int a,y;
 a=4;
 y=ff(a);
 printf("%d",y);
 }
2012-09-20 16:51
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
收藏
得分:0 
快来人啊

巾帼不让须眉
2012-09-20 16:53
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
for(i=1;i<=n;i++)

My life is brilliant
2012-09-20 16:57
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
区间应该是[1,n]

My life is brilliant
2012-09-20 16:57
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
收藏
得分:0 
不是吧  那上例中a=4
岂不是4!=4*1*2*3*4啊    就算改成for(i=1;i<=n;i++)    结果出来还是一个非常大的负数啊

巾帼不让须眉
2012-09-20 17:04
greennet111
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2012-4-14
收藏
得分:0 
回复 4楼 lz1091914999
不是吧  那上例中a=4
岂不是4!=4*1*2*3*4啊    就算改成for(i=1;i<=n;i++)    结果出来还是一个非常大的负数啊

巾帼不让须眉
2012-09-20 17:09
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:2 
int ff(int n)
{
int i;
for(i=n-1;i>0;--i)
   n=n*i;
return(n);
}

刚才没看仔细,原来你直接用参数来参加运算,那么更改红色那段就OK

My life is brilliant
2012-09-20 17:59
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
int fac(int n)
{
    int i, result = 1;
    for (i = 2; i <= n; ++i)
        result *= i;
    return result;
}


这样不是更清晰么?

My life is brilliant
2012-09-20 18:02
liuguanglei
Rank: 2
等 级:论坛游民
帖 子:41
专家分:26
注 册:2012-8-15
收藏
得分:0 
#include<stdio.h>
int ff(int n)
{
int i,m;
printf("please input a number:");
scanf("%d",&n);
for(i=1;i<n;i++)
   m=n*i;
return(m);
}
main()
{
int a,y;
a=4;
y=ff(a);
printf("%d\n",y);
}
这个程序是对的!
注意了!!!在函数ff()中n你没有给出一个确定的值所以计算机无法识别!
对于n你的再加一个scanf()函数从键盘读入!这样当n值确定后就可以了!
2012-09-20 18:04
zjkedy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:131
注 册:2010-5-14
收藏
得分:3 
.....i<n
i一直是+1操作,
n确实阶乘增大,i怎么也赶不上n,一直到n越界为止
收到的鲜花
  • greennet1112012-09-21 08:46 送鲜花  3朵   附言:我很赞同
2012-09-20 18:08
快速回复:小女求教,求阶乘,此函数哪里有问题啊。大侠指教
数据加载中...
 
   



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

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