解题思路:用两个函数,分开求和,
注意事项:要注意的范围,尽量把数据类型都改为double,双保险。
参考代码:
#include<stdio.h>
double fun(double n)
{
if(n==1||n==0)return 1; //fun函数是用来求阶乘,
return fun(n-1)*n;
}
double fun1(double k) //fun1函数是用来返回 1/阶乘
{
double s=1.0/k;
return s;
}
int main()
{
double n,i,sum=0; // i用来控制循环
scanf("%lf",&n);
for(i=1;i<=n;i++)
sum=sum+fun1(fun(i));
printf("sum=%.5lf",sum);
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:387 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
淘淘的名单 (C语言代码)浏览:1167 |
1642题解浏览:784 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1968 |
格式化数据输出 (C语言代码)浏览:882 |
判定字符位置 (C语言代码)浏览:849 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:529 |