Dinosauria


私信TA

用户名:H2130823016

访问量:1341

签 名:

.....

等  级
排  名 1026
经  验 3202
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

从来如此,便对吗?

解题思路:
我用的递归
注意事项:
递归的结束条件不能仅仅是

(x==1)return 1;

而应该是

(x==1||x==0)return 1;或者直接是(x==0)return 1;

因为0的阶乘是1;如果只是等于1就返回的话,0的阶乘就没法算;
参考代码:

#include<stdio.h>

int main(){

int N,x;

scanf("%d",&N);

printf("%d",f(N));

return 0;

int f(int x){

int y;

if(x==1||x==0)

return 1;

else

y=x*f(x-1);

return y;

}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区