用递归方法编写一个求阶乘的子函数,主函数调用该子函数,输入正整数n,求n!

 我来答
文耕实验室
2013-03-20 · TA获得超过210个赞
知道答主
回答量:70
采纳率:0%
帮助的人:84.4万
展开全部
#include <stdio.h>
int step(int x){ //递归函数,返回阶乘结果
if (x>1) { //参数=1为出口,返回1
return x*step(x-1);//返回当前数与比当前数小一的数的阶乘的积
}
return 1;
}

int main(){
int n;
scanf ("%d",&n);
printf ("%d",step(n));
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
推荐于2018-02-28 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3616万
展开全部
#include <stdio.h>
int jc(int n)
{
if (n>1)
return n * jc(n-1);
else
return n;
}
main()
{
int n;
printf("input a number:");
scanf("%d", &n);
printf("%d\n", jc(n));
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
色戒罪
2013-04-01
知道答主
回答量:2
采纳率:0%
帮助的人:3033
展开全部
#include"stdio.h"
float main(void)
{
float fac(int n);
int n;
float y;
printf("请输入n的值\n");
scanf("%d\n",&n);
y=fac(n);
printf("%d!=%10.0f\n",n,y);
}
float fac(int n)
{
float f;
if(n<0)
printf("输入的数据错误,请重新输入!\n");
else if(n==0||n==1)
f=1;
else f=fac(n-1)*n;
return(f);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式