c语言求阶乘~高手帮我看下那里错了~xie

来源:百度知道 编辑:UC知道 时间:2024/05/03 01:49:37
输入1 个正整数n,计算 s 的前n 项的和(保留 4 位小数)。
s = 1 + 1/2! +....+ 1/n!

#include <stdio.h>
main()
{
int i,n,a=1,b;
float s=0;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
for (b=1;b<=i;b++)
{
a=a*b;
}
s=s+1.0/a;
printf("s=%0.4f",s);
}

你把a定义的位置有问题,应该定义在函数里,每一次内部循环应该把a重新付1值.

#include <stdio.h>
void main()
{
int i,n,a=1;
double s=0;

printf( "请输入n的值:");
scanf("%d",&n);

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

a = a*i;
s=s+1.0/a;

}

printf("s=%0.4f",s);

}

少了个 } 吧