你把a定义的位置有问题,应该定义在函数里,每一次内部循环应该把a重新付1值.
#include 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);}
少了个 } 吧