我之前曾在这里发帖,但我始终无法获得所需的帮助。 我正在做一个学校项目,但我的程序无法正常运行。
程序应提示用户输入使用的加仑数和 3 jar 汽油各自行驶的英里数。该程序应该 然后计算并显示每个油箱获得的每加仑英里数。一次 3个坦克的处理完成,程序将计算整体 英里数(总加仑数/总英里数)并显示友好的“再见”消息。
我遇到的问题是我无法将其显示给 OVERALL Millage。循环3次后结束。 我知道不同的循环语句需要满足条件,但我无法让 FOR 循环正常工作。我真的很沮丧,因为我知道这不应该这么难。
代码
#include <stdio.h>
int main(void)
{
int miles,i=3;
float gallons, mg, overall = 0, avg = 0;
while(i>0)
{
printf("Enter the gallons used: ");
scanf("%f", &gallons);
printf("Enter miles driven: ");
scanf("%d", &miles);
mg = miles/gallons;
printf("The miles/gallon for this tank was : %f\n", mg);
overall += miles;
avg += gallons;i--;
}
if(gallons == 0)
{
printf("\n\n The overall miles/gallon was: %f\n", overall/avg);
exit(0);
}
return 0;
}
最佳答案
如果我正确阅读了您的代码,那么阻止打印总里程的是以下最终 if
语句:
if (gallons == 0)
如果删除它,则应打印总里程。使用这种模式:
while (i > 0)
{
// your while loop here
}
printf("\n\n The overall miles/gallon was: %f\n", overall/avg);
exit(0);
关于代码忽略 C 中的 IF 命令,FOR 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42329018/