定义函数fact(n)计算n!函数返回值类型是double.

1)定义函数fact(n)计算n!函数返回值类型是double.
2)定义函数main()输入正整数n,计算并输出下列算式的值。要求调用函数fact(n)计算n!.
s=1/2!+2/3!+.....n/(n+1)!
这是我写的程序求大神改正
#include"stdio.h"
double fact(int n)
{ int m;int k;
for(k=1;k<=n;k++)
m=m*k;
return m;
}
main()
{
int n,i,s;
s=0;
printf("input n:");
scanf("%d",n) ;
for(i=1;i<=n;i++)
s=s+i/fact(i);
printf("%ld",s);
}

第1个回答  2015-03-15
s=s+i/fact(i);改为s=s+i/fact(i+1);追问

给我个截图啊 。我运行没有错误都是结果出不来

追答

#include
double fact(int n)
{
int m=1, k; // 改动1:m要初始化
for(k=1;k<=n;k++)
m=m*k;
return m;
}
void main()
{
int n,i;
double s=0; // 改动2:s定义为double型,因为fact返回的是double型
printf("input n:");
scanf("%d",&n) ; // 改动3:n前面要加取地址符
for(i=1;i<=n;i++)
s = s + i/fact(i+1); // 改动4:s=s+i/fact(i);改为s=s+i/fact(i+1);
printf("%lf",s); // 改动5:double型输出最好用lf
}

本回答被提问者采纳
相似回答