#include<stdio.h>
int f(int n)
{
int p;
if(n>1)
p=n*f(n-1);
else
p=1L;
return(p);
}
int main()
{
int m;
scanf("%d",&m);
printf("%d!=%d",m,f(m));
getchar();
getchar();
}
追问在不在
我大一小学弟🌚🌚
追答n!(阶乘)意思是从1开始一直乘到n的结果
实现的方法有两种,第一种函数的递归,第二种循环语句。
函数递归入上面的源文件中的 p=n*f(n-1); 语句,不断的通过该语句调用函数 int f(int n) 并以n-1的结果为新的实参,实现函数的递归调用,当if(n>1)为假时执行
else
p=1L;
return(p);
并逐层返回
循环语句下面那位的追答就是,但是他的代码不可以单独运行,没有main函数
你是不是学计算机的??
我有好多问题想请教
加加我
交流一下
微信
在不在
我大一弟弟🌚🌚
追答上面是递归函数,不易看懂。给你弄个非递归的——
int f(int n){
int s=1;
while(n)
s=s*n--;
return s;
}
咱们加一下微信吧
我有好多问题想请教
好吗??
本回答被网友采纳