C语言程序设计(第三版)何钦铭著 习题4-3

C语言程序设计(第三版)何钦铭著 习题4-3

习题一览表
1. C语言程序设计(第三版)何钦铭著 习题2-1
2.C语言程序设计(第三版)何钦铭著 习题2-2
3.C语言程序设计(第三版)何钦铭著 习题2-3
4.C语言程序设计(第三版)何钦铭著 习题2-4
5.C语言程序设计(第三版)何钦铭著 习题2-5
6.C语言程序设计(第三版)何钦铭著 习题2-6
7.C语言程序设计(第三版)何钦铭著 习题3-1
8.C语言程序设计(第三版)何钦铭著 习题3-2
9.C语言程序设计(第三版)何钦铭著 习题3-3
10.C语言程序设计(第三版)何钦铭著 习题3-4
11.C语言程序设计(第三版)何钦铭著 习题3-5
12.C语言程序设计(第三版)何钦铭著 习题4-1
13.C语言程序设计(第三版)何钦铭著 习题4-2


题目

求序列和。
输入一个正整数n,
输出 2/1+3/2+5/3+8/5 +…的前n项之和,保留2位小数。
该序列从第2项起,
每一项的分子是前一项分子与分母的和,
分母是前一项的分子。
试编写相应程序。


分析过程

输入

条件:输入一个正整数n

输出

条件:输出 2/1+3/2+5/3+8/5 +…的前n项之和,保留2位小数

代码

#include <stdio.h>
#include <math.h>

int main () {
    
    
	/*定义变量*/
	int n;                                                                  /*定义变量,存储输入的正整数n*/
	double fenzi = 2.0;                                                     /*定义变量,每项分子*/
	double fenmu = 1.0;                                                     /*定义变量,每项分母*/
	double sum = 0;                                                         /*定义变量,计算结果和,初值为1*/
	/*赋值*/
	printf("请输入正整数n:\n");                                            /*输入提示*/
	scanf("%d \n", &n);                                                     /*输入并赋给变量*/
    /*计算*/
    for(int i=1 ; i<=n ; i++){
    
    
        sum += fenzi/fenmu;
        int qian_fenmu = fenmu;                                             /*需要单独存储,前一项分母,否则寻找不到*/
        fenmu = fenzi;                                                      /*每项分母为前一项的分子*/                                          
        fenzi = fenzi + qian_fenmu;                                         /*每项分子为前一项分子与分母之和*/
    }
    
    printf("前%d项和为:%.2lf \n", n, sum);                               /*输出计算结果*/
	return 0;
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43228814/article/details/112349993