我的c ++程序中的while循环出现问题。它运行,但我试图让它从5开始(需要以5为增量显示数字)而不是我的输入数字。这是循环:
while (minutes <= 25) // max number displayed 25, minutes is my own input between 5 - 25
{
caloriesBurn = minutes * burnperMin; // calculating calories burned
if (minutes%5 == 0) // determining if number is divisible by 5
{
cout << minutes << " " << caloriesBurn << endl;
}
minutes++;
}
截至目前,如果我输入15,它将显示从15开始,然后转到20然后是25(就像我想要的那样)但我总是希望它从5开始,直到我的输入(15)。所以,基本上它显示的是与我想要的相反。
答案 0 :(得分:1)
for (int m = 5; m <= minutes; m += 5)
{
caloriesBurn = m * burnperMin; // calculating calories burned
cout << m << " " << caloriesBurn << endl;
}
答案 1 :(得分:0)
改为使用for (minutes = 5; minutes <= 25; minutes += 5)
,并删除循环体末尾的minutes++;
以及现在冗余的可分性检查。
如果您需要保留while
,那么重构为等效
minutes = 5;
while (minutes <= 25){
/* loop body*/
minutes += 5;
}
答案 2 :(得分:0)
假设我正确理解你的问题,就像你想要条件一样,(尽可能保持你的代码)
int minutes = 5;
while (minutes < 25 && minutes < userInput) {
caloriesBurn = minutes * burnperMin; // calculating calories burned
cout << minutes << " " << caloriesBurn << endl;
minutes += 5;
}
这假设您希望它显示在5,10,...分钟燃烧的卡路里,最多可达到用户定义的时间,最长25分钟。