从键盘输入一个正整数n,计算 n! 的值.要求定义和调用函数fact(n),计算n!,函数形参n的类型是int,

2024-12-02 06:51:08
推荐回答(5个)
回答1:

#include

double fact(int n);

int main(void)
{
int n;

double factorial;

double fact(int n);

scanf ("%d", &n);
/*---------*/

printf("%d! = %f\n", n, factorial);

}

double fact(int n)

{

double factorial=1.0;

for(int i=1;i<=n;i++)

factorial=factorial*i;

return factorial;

}

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

7、自定义函数在使用前注意要申明。

参考资料:

百度百科-c语言

回答2:

#include 

int main(void)

{       

 int n;   

 double factorial;   

 double fact(int n);   

 scanf ("%d", &n); 

 factorial=fact(n);

 printf("%d! = %f\n", n, factorial);

 return 0;

}

double fact(int n)

{

 double m=1;

 int i;

 for(i=1;i<=n;i++)

 {

  m=m*i;

 }

 return m;

}

回答3:

double fact(int n)
{
int ret=1;
if(n!=0)
{
for(int i=1;i<=n;i++)
{
ret*=i;
}
}
else
ret=1;
return ((double)ret);
}

回答4:

factorial = fact(n);

double fact(int n)
{
double ret = 0;
int i

for( i = 1; i<=n; i++){
ret *= i;
}
return ret;
}

回答5:

double fact(int n)
{
if(n==0||n==1)
return 1;
else
return n*fact(n-1);
}