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


#include 
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的余数

这么改下,供参考:

#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;
}

注意输出只有一行哦,题主的明显是多行了