☰
求有序的n项和
2026/10/11 4:56:06 网站建设 项目流程

基本概念:2/1+3/2+5/3+8/5+....

代码示例;

#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
//设出变量分子分母以及总和
//注意;如果用int来定义会在分子除分母的时候导致精度不够
//int z=2;
//int m;
double z=2;
double m=1;
//题目要求双精度,要用double
double sum=0.0;
//为了不让分子分母在循环中被破坏,故多设一个变量t来存放
//注意;由于分子需要赋值给t,而分子已经定义为double,所以t也要为double
//int t;这会导致t存放不了大的数
double t;
int i;


//已知要循环n遍,因此用for循环,
//注意;在循环中不需要用到i,i只用来记住循环次数
//概念;(初始化;条件;更新;)
for(i=1;i<n;i++){
//求和要放到最前面,不然第一轮循环就会把第一第二项加起来了
sum+=z/m;
//先把分子的值给到i
t=z;
//再把分子分母的和给到下一项的分子
z=z+m;
//最后把原先分子的值给到下一项的分母
m=t;


}
//概念;.2表示保留2位小数
printf("%.2f",sum);








return 0;
}

理解心得;如果用int来定义会在分子除分母的时候导致精度不够

由于分子需要赋值给t,而分子已经定义为double,所以t也要为double

在循环中不需要用到i,i只用来记住循环次数

BUG记录;

直接把i放进循环里面了

把t定义为int

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询