【发布时间】:2019-03-26 06:58:07
【问题描述】:
有一个 500 加仑的水箱已用于 在 24 小时内保持鱼成为鱼苗。水箱漏水,每小时损失剩余水量的 10%。如何修复我的代码以使其在 24 小时后或油箱容量达到 100 加仑后停止执行。出于某种原因,我似乎无法将头绕在 for 循环上。
int main()
{
double add, gal = 500, vol, newVol, hour;
printf("Please enter additional water added per hour: ");
scanf("%f", &add);
for (int hour = 0; hour <= 24; hour++)
{
vol = gal * 0.90 + add;
}
printf("The volume is %f gallons after %d hours. \n", &vol, &hour);
}
【问题讨论】:
-
简单:记下开头的时间戳,每隔一段时间,不断检查时间戳。
-
在你的循环中添加一个条件来检查音量?
-
将
if (vol >= 100.0) break;添加到循环中?虽然我不明白如果油箱容量为 500 加仑,“100”... -
或在声明时初始化
vol = 0.0,然后初始化for (int hour = 0; hour <= 24 && vol >= 100; hour++)(假设您想继续煎炸直到油量低于100 gal - 根据需要调整测试)AND&vol, &hour);应该是vol, hour);。 (没有'&'签名打印) -
这意味着您没有充分启用编译器警告。对于 gcc/clang 添加
-Wall -Wextra -pedantic到你的编译字符串,对于 VS 添加/W3,并且在编译没有警告之前不要接受代码。
标签: c for-loop simulation