首页 > 解决方案 > C while 循环正在打印额外的数字

问题描述

有人能帮我吗。我的代码正在打印一个额外的数字
它应该像这样工作:
如果 N=38 那么它应该打印
32.0
33.8
35.6
37.4

但我的打印
32.0
33.8
35.6
37.4
39.2
我如何摆脱最后一个数字。我还是一个初学者,所以我在这方面很糟糕

 #include<stdio.h>
    
    int main(){
        int i, n;
        float f;
        printf("toogoo oruulna uu: ");
        scanf("%d", &n);
        
        i=0;
        while (f<=n){
            f = (9.0/5.0 * i) + 32;
            printf("%.1f\n", f);
            i++;
        }
        
        return 0;
    }
        

标签: cwhile-loop

解决方案


快速修复

    while (1){
        f = (9.0/5.0 * i) + 32;
        if(f>n)                   // Move condition to after calculation
            break;
        printf("%.1f\n", f);
        i++;
    }

这也将解决您在f初始化之前使用的错误。


推荐阅读