输入整数N,计算1+1/2!+1/3!+....+1/n!
#include<stdio.h>
long AddOne(int n)
{
if(n==1||n==0) return 1;
else
return n*AddOne(n-1);
}
void main()
{
double s,M,sum;
int n;
scanf("%d",&n);
for(sum=0;n>0;n--){
M=AddOne(n);
s=(1.0)/M;
sum=sum+s;}
printf("%d",sum);
}
我这样做哪里出错了?
自定义函数不能用于循环吗?
[解决办法]
printf("%d",sum); //这句有问题
应该改成
printf("%f",sum);
[解决办法]
最后一句改为printf("%lf",sum);