m0_58201600 2021-09-01 23:31 采纳率: 42.9%
浏览 68

C语言关于if while do-while不能加分号

求下列试子的值:2/1+3/2+4/3+5/4+……+50/49。
注意:1)用三种方法:while,do-while,for语句编写。
2)用调用子函数编写,可结合上面三种循环中的任意一种循环。
3)在if语句、while语句,for语句中,表达式后面都不能加分号,而在do-while语句while后面必须加分号。
4)1/2=0,不是0.5,所以中间有一个强制类型转换。

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-09-02 08:54
    关注

    供参考:

    #include<stdio.h>
    double fun(int n)
    {
        int i=1;
        double s=0;
        while (i < n)
        {
            s += 1.0 * (i + 1) / i;
            i++;
        }
        return s;
    }
    
    double fun1(int n)
    {
        int i = 1;
        double s = 0;
        do{
            s += 1.0 * (i + 1) / i;
            i++;
        } while (i < n);
        return s;
    }
    
    int main()
    {
        int n = 50, i;
        double s = 0;
        for (i = 1; i < n; i++)
            s += 1.0 * (i + 1) / i;
        printf("s(2/1+3/2+4/3+5/4+……+50/49) = %f\n", s);
        printf("fun(%d)(2/1+3/2+4/3+5/4+……+50/49)=%f\n", n, fun(n));
        printf("fun1(%d)(2/1+3/2+4/3+5/4+……+50/49)=%f\n", n, fun1(n));
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月1日

悬赏问题

  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求