用C语言编一程序求10的阶乘

2024年11月28日 15:44
有5个网友回答
网友(1):

#include

int fac(int n); //函数声明

void main()
{
int a;
//int m;
printf("input a int number:");
scanf("%d",&a);
printf("after the function is:");
//m=f(a);
printf("%d\n",fac(a));
}

int fac(int n) //定义fac函数
{
if(n<0)
{
printf("n<0,date error!");
}
else
if(n==0||n==1)
{
return 1;
}
else
return (n*fac(n-1));
}

注意输入的数不能太大了,否则就会出现溢出的情形。
比方说10000的阶乘就要用数组来实现了,这个程序是无法办到的。

网友(2):

递归函数求 10 的阶乘
#include
long int fun(int n) //递归函数
{
if (n==1||n==0)
return 1;
else
return (n*fun(n-1));
}
void main()
{
int n;
printf("输入要求阶乘的数\n");//输入10就行了。不能输入太大的数,道理你应该知道呵呵!
scanf("%d",&n);
printf("%d的阶乘是%ld\n",n,fun(n));//调用函数
}

如果你只求10的阶乘 可以直接给n 赋值为10 不用输入

网友(3):

#include
int a(int n)
{
if(n==1)
{
return 1;
}
else
{
return n*a(n-1);
}
}
main()
{
int rtn;
rtn = a(10);
printf("%d\n",rtn);
}

网友(4):

#include "iostream.h"
int prem(int n)
{
if (n==0) return 1;
return prem(n-1)*n;
}

int main()
{
cout<}

网友(5):

long f(int n)
{
if(n==1)return 1;
else return n*f(n-1);
}
main()
{
printf("%ld",f(10));
}