隔壁王健喜儿 2022-10-08 00:23 采纳率: 96%
浏览 29
已结题

关于#for#的问题,如何解决?


#include <stdio.h>
int main(void)
{
    double a, b, r;
    int k = 0;
    scanf("%g %g", &a, &b);
    for (r = a - k * b; r >= 0 && r < b; k++)
        printf("%g\n", r);
    
    return 0;
}

Openjudge-NOI上的题目,计算两浮点数的余数,虽然有简单的解题方法,但我还想知道以上代码哪里出错?(刚接触编程不久,望指点!)以下是题目描述:

计算两个双精度浮点数a和b的相除的余数,a和b都是正数的。这里余数(r)的定义是:a = k * b + r,其中 k是整数, 0 <= r < b。

输入
输入仅一行,包括两个双精度浮点数a和b。
输出
输出也仅一行,a÷b的余数

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-10-08 10:02
    关注

    这么改下,供参考:

    #include <stdio.h>
    int main(void)
    {
        double a, b, r;
        int k = 0;
        scanf("%lf %lf", &a, &b); //修改
        for (r = a - k * b; r >= 0 && r > b; k++, r = a - k * b); //修改
        printf("%g\n", r);
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 10月8日

悬赏问题

  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题