解题思路以及注意事项:
定义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分
32 人评分
#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; }
#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; } 求大佬给看看,为什么一直都是错的
旋转跳舞我闭着眼 2023-07-31 23:14:13 |
输出格式错误,是printf("sum=%.5lf",sum); 你输出少了 sum=
#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; } 我哪里错了,怎么运行不出来
悠游 2023-08-10 17:00:51 |
像sum这种统计和的变量记得要赋0,运行不了是因为你scanf 取地址符漏了,兄弟是写太急了吧,还有题目要求要有sum=的
#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什么都没有了
白的像碳 2022-10-07 20:26:36 |
你的fact函数怎么是i++ ?
#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; } 为什么不对
白的像碳 2022-10-07 20:28:37 |
看不下去了,你的fact函数sum从i=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); } 哪错了,,,
P1001 (C语言代码)浏览:798 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:505 |
WU-复数求和 (C++代码)浏览:1995 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:796 |
勾股数 (C语言代码)浏览:798 |
陶陶摘苹果2 (C语言代码)浏览:595 |
1162答案错误,为什么浏览:638 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:504 |
1169题解浏览:519 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:476 |