c语言题目练习第十天

文章提供了一个C语言程序,用于计算特定序列的前n项和,序列的每一项分子是前一项分子和分母的和,分母是前一项的分子。程序中存在错误,初始版本的分母每次加一,而正确做法应保持为前一项的分子。修正后的代码正确实现了这一逻辑。
摘要由CSDN通过智能技术生成

16.本题要求编写程序,计算序列2/1+3/2+5/3+...的前n项之和,注意该序列从第二项起,每一项的分子是前一项分子和分母的和,分母是前一项的分子。

输出格式:在一行中输出部分和的值,精确小数点后两位,题目保证计算结果不超过双精度范围

#include<stdio.h>
    
    int main(){
        double w,m;
        int n;
        double sum=0.0;
        double a;
    scanf("%d",&n);
        w=2;
        m=1;
    for(a=1;a<=n;a++){
        sum+=w/m;
        w=w+m;
        m=a;
                     }
    printf("%.2lf",sum);
 return 0;
}

做错,错在分母不是每次都加一而是变为前一项的分子

#include<stdio.h>
    
    int main(){
        double w,m;
        int n;
        double sum=0.0;
        double a,b;
    scanf("%d",&n);
        w=2;
        m=1;
    for(a=1;a<=n;a++){
        sum+=w/m;
        b=w;
        w=w+m;
        m=b;
                     }
    printf("%.2lf",sum);
 return 0;
}

 注意:double变量可以用%f或%lf在printf输出,只能用%lf在scanf输入

不一样是怎么回事 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值