c - 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;
}
解决方案
快速修复
while (1){
f = (9.0/5.0 * i) + 32;
if(f>n) // Move condition to after calculation
break;
printf("%.1f\n", f);
i++;
}
这也将解决您在f
初始化之前使用的错误。
推荐阅读
- android - Recyclerview 属性未显示
- python-3.x - 两个excel表的比较和写输出
- ios - 如果我撤销分发证书,现有版本会怎样?
- handlebars.js - 赛普拉斯脚本因 ReferenceError 失败:未定义把手
- java - Java:如何从包含 XML 字符串的文本区域中提取数据
- java - 在 Java 中实时读取大型日志文件
- linux - 我如何使用 shell 脚本减去 2 个时间戳
- javascript - 根据条件为Odoo10中的复选框添加颜色
- android - 在android中制作通知不会崩溃
- ios - WKWebView.scrollView.bounces = false 不工作