如题所述
æè·¯ï¼éå½æ±é¶ä¹å½æ°ï¼å¦æè¾å ¥çåæ°çäº1åè¿å1ï¼å¦åè¿ånä¹ä»¥è¯¥å½æ°ä¸æ¬¡éå½ã
åè代ç ï¼
#include<stdio.h>int fun(int n)
{
if(n==1||n==0) return 1;//å¦æåæ°æ¯0æè 1è¿å1
return n*fun(n-1);//å¦åè¿ånåä¸æ¬¡éå½ç积
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}
/*
5
120
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-11-07
#include<stdio.h>
int fac(int n)
{
if(n < 0)
{
printf("error!\n");
return -1;
}
else if(n == 0)
return 1;
else
return fac(n- 1) * n;;
}
void main()
{
int n = 0;
printf("请输入n:");
scanf(%d",&n);
printf("%d的阶乘是%d",n,fac(n));
}
随手写的,没有编译,可能有小错误本回答被网友采纳
int fac(int n)
{
if(n < 0)
{
printf("error!\n");
return -1;
}
else if(n == 0)
return 1;
else
return fac(n- 1) * n;;
}
void main()
{
int n = 0;
printf("请输入n:");
scanf(%d",&n);
printf("%d的阶乘是%d",n,fac(n));
}
随手写的,没有编译,可能有小错误本回答被网友采纳
第2个回答 2012-11-07
int fn(n)
{
int y;
if(n<0){ printf("error");return -1;}
if(n==0) return 1;
else
{
y=fn(n-1)
return n*y;
}
}追问
{
int y;
if(n<0){ printf("error");return -1;}
if(n==0) return 1;
else
{
y=fn(n-1)
return n*y;
}
}追问
thank you
追答这个是调试完的请看看
#include
int fn(n);
int main(void)
{
printf("%d",fn(3));
}
int fn(n)
{
int y;
if(n<0){printf("error");return -1;}
if(n==0) return 1;
else
{
y=fn(n-1);
return n*y;
}
}