原题链接:二级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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
double fact(double n) { if (n == 1) return 1; return fact(n - 1)*n; } int main() { double n, sum = 0;; scanf("%lf", &n); for (int i = 1; i <= n; i++) sum += 1/fact(i); printf("sum=%.5lf", sum); return 0; }#include<stdio.h> double fact(int k) { double a=1; int i; for(i=1;i<=k;i++) { a*=i; } return a; } double fact(int k); int main() { int i,n; double sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum+=1/fact(i); } printf("sum=%0.5lf\n",sum); return 0; }@橘 输出格式错误,是printf("sum=%.5lf",sum); 你输出少了 sum=#include <stdio.h> double fact(int k); int main() { int n = 0; scanf("%d",&n); int k = 0; double sum = 0.0; for(k=1;k<=n;k++) { sum = sum + 1/fact(k); } printf("%.5lf",sum); return 0; } double fact(int k) { double i = 0.0; double a = 1.0; for(i=1;i<=k;i++) { a = a * i; } return a; } 求大佬给看看,为什么一直都是错的#include<stdio.h> double fact(int k) {int i; double sum; double x=1; for(i=1;i<=k;++i) { x*=i; sum+=(1/x); } return sum; } int main() { int a; double b; scanf("%d",a); b=fact(a); printf("%.5lf",b); return 0; } 我哪里错了,怎么运行不出来#include<stdio.h> double fact(int n) {int i; double sum; double x=1; for(i=1;i<=n;++i) { x*=i; sum+=(1/x); } return sum; } int main() { int a; double b; scanf("%d",a); b=fact(a); printf("%.5lf",b); return 0; }double fact(int i) { double sum = 1; for (int j = 1;j <= i;i++) { sum = sum * j; } return sum; } int main() { int a; double sum = 0; scanf_s("%d", &a); for (int i = 1;i <= a;i++) { sum = sum + 1 / fact(i); } printf("sum=%.5lf", sum); return 0; } 为什么我这个运行了输入以后按回格就i什么都没有了