您的位置:首页 > 其它

利用递归方法实现一个函数,该函数能够实现n的阶乘,即 n! = n*(n-1)*…*3*2*1

2016-04-23 19:49 357 查看
利用递归方法实现一个函数,该函数能够实现n的阶乘,即n!
= n*(n-1)*…*3*2*1


代码如下:

#include <stdio.h>

int func(int n)

{

if(n == 1)

{

return 1;

}

else if(n > 0)

{

return (n * func(n - 1));

}

else

{

printf("error\n");

}

}

int main()

{

int n;

int s;

printf("please input n:\n");

scanf("%d",&n);

s = func(n);

printf("%d!=%d\n",n,s);

return 0;

}



下面是不用递归方法实现n的阶乘的程序的代码:

#include <stdio.h>

int main()

{

int n;

int i;

int s = 1;

printf("please input n:\n");

scanf("%d",&n);

printf("%d!=",n);

for(i = n; i > 1; i--)

{

s *= i;

printf("%d*",i);

}

printf("1=%d\n",s);

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: