原题链接:二级C语言-阶乘公式求值
解题思路以及注意事项:
定义fact()函数用for()循环计算阶乘,然后传值回到主函数。
用for()函数计算很多阶乘的和。
输入输出格式注意,中英文注意,保留有效位数。
实例代码:
include"stdio.h"
double fact(int n);
int main()
{
int s,i;
double sum=0;
scanf("%d",&s);
for(i=1;i<=s;i++)
{
sum+=1.0/fact(i);
}
printf("sum=%.5lf",sum);
return 0;
}
double fact(int n)
{
int i;
double item=1;
for(i=1;i<=n;i++)
{
item*=i;
}
return item;
}看看大家还有什么不懂的,请在下方评论区留言
0.0分
33 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int main() { int n,i; double s=0; scanf("%d",&n); for(i=1;i<=n;i++) s+=1.0/fact(i); printf("%.5lf",s); } double fact(int n) { int i; double f=1; for(i=1;i<=n;i++) f=i*f; return f; } 我这哪里错了#include<stdio.h> #include<math.h> double fact(int k){ double sum=1.0; double number=0.0; for(int i=0;i<k;i++){ sum*=i; number+=pow(sum,-1); } printf("%.5lf",number); } int main(){ int k; scanf("%d",&k); fact(k); return 0; } 为什么不对# include <stdio.h> int main () {double fact(int k); int n; scanf("%d",&n); fact(n); } double fact(int k) { int i,a=1; double sum=0; for(i=1;i<=k;i++) { sum+=1.0/a; a=a*(i+1); } printf("sum=%.5f",sum); return (sum); } 哪错了,,,