标题:递归法 求阶层,求指教
只看楼主
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:2 

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-17 07:14
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:2 
回复 8楼 笑傲
为啥n<0就要退出呀?

                                         
===========深入<----------------->浅出============
2013-05-17 18:11
幻楚
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2013-5-15
得分:0 
好吧,看见你们的程序,我好佩服呀!!!!!我看了半天书才写出这样一个程序。。。。佩服呀!!!!

C plus plus
2013-05-18 23:27
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:0 
回复 12楼 laoyang103
不退出的话:y=fac(n)这一句应该会得到不确定的值吧,应该没错吧?

练就一身本领,只为笑傲江湖!
2013-05-19 10:43
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
得分:2 
我就奇怪了,n=0能是1吗?
2013-05-19 10:57
业余爱好者
Rank: 2
等 级:论坛游民
帖 子:28
专家分:23
注 册:2013-4-23
得分:2 
#include<stdio.h>
int f(int n)
{
    if (n ==1 )
      return 1;
    else if(n>1)
     return f(n-1)*(n);
}

int main()
{
   int n;
   
   scanf("%d",&n);
   
   if(n>0)
   {
      
       printf("%d\n",f(n));
   }
       return 0;
   
   

}
2013-05-19 21:47
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:0 
程序代码:
#include"stdio.h"
int fac(int n);
int main(void)
{
   int n, y;
   printf("input an integer number:");
   scanf("%d",&n);
   y=fac(n);
   printf("%d!=%d\n",n,y);
}
  int fac(int n)
  {
      if(n<0)
          printf("n<0,data error!");
      else if(n==0||n==1)
           return 1;
      else
      return fac(n-1)*n ;
  }

你看这个行不行

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-20 22:22
幻楚
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2013-5-15
得分:0 
谢谢你们了,真心感谢你们。。

C plus plus
2013-06-02 17:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407248-1-1.html




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

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