第1个回答 2008-12-04
#include<stdio.h>
void main()
{
int i,j,k=1;
printf("请输入一个整数:");
scanf("%d",&j);
for(i=1;i<=j;i++)
k*=i;
printf("k=%d\n",k);
}
第2个回答 2019-08-31
感觉到你的程序中:①数据类型尚未理顺,②算阶乘倒数的递归算法尚待完美。下面是按此两点改进的程序:
#include
<stdio.h>
long
f(long
n)
{
if(n
==
0
||
n
==
1)
return
1;
else
return
n*f(n-1);
}
void
main()
{
double
s
=
0.0;
int
i,n;
printf("input
ainteger
number
n:");
scanf("%d",&n);
for(i
=
1;
i
<=n;
i++)
s+=
1.0/f(i);
printf("%lf",s);
return
0;
}
程序的四种运行结果如下:
第3个回答 2008-12-04
fun(n)
int n;
{
if(n=1)
return(1);
else
return(n*fun(n-1));
}
第4个回答 2008-12-04
int f(int n)
{
if(n==1)
return 1;
else return n*f(n-1);
}
第5个回答 2008-12-04
f(n)=n*f(n-1)
f(1)=1