嵌套多个 while 循环 - CS50 greedy.c 更少
Nesting multiple while loops - CS50 greedy.c less
我是编程新手,很难理解 while
循环如何相互结合使用。
你可以从我的代码中看到我可以让硬币数量增加,但我觉得应该使用 while
循环而不是 do-while
循环来倒计时变化总行按行。
也许我让它变得比要求的更复杂,但是多个 while
循环是计算变化值的最佳方法吗?
非常感谢任何提示或提示!
int main(void)
{
printf("O hai! ");
float change;
do
{
printf("How much change is owed?\n");
change = get_float();
}
while (change <= 0);
int n = (change * 100); // multiply change by 100 to get int in cents(n)
int coin = 0; // new int to represent amount of coins
coin++;
int quart = n - 25; // subtract 25c from n
coin++;
int dime = quart - 10; // subtract 10c from quart
coin++;
int nick = dime - 5; // and so on
coin++;
int penny = nick - 1; // and so on
penny = 0; // and this is only here because I had an unused int (penny)
printf("%i\n", coin);
}
while 循环工作正常。你会想要让它大于 0,而不是像你现在拥有的那样小于或等于,而且,你不需要定义 quarter/dime 等等,你可以使用 if 语句,例如 if (剩下的美分比硬币价值多)比硬币 -= (这是每次遇到时减少的方式)你要减去的价值。尝试进行这些更改,我可以从那里为您提供更多帮助
我是编程新手,很难理解 while
循环如何相互结合使用。
你可以从我的代码中看到我可以让硬币数量增加,但我觉得应该使用 while
循环而不是 do-while
循环来倒计时变化总行按行。
也许我让它变得比要求的更复杂,但是多个 while
循环是计算变化值的最佳方法吗?
非常感谢任何提示或提示!
int main(void)
{
printf("O hai! ");
float change;
do
{
printf("How much change is owed?\n");
change = get_float();
}
while (change <= 0);
int n = (change * 100); // multiply change by 100 to get int in cents(n)
int coin = 0; // new int to represent amount of coins
coin++;
int quart = n - 25; // subtract 25c from n
coin++;
int dime = quart - 10; // subtract 10c from quart
coin++;
int nick = dime - 5; // and so on
coin++;
int penny = nick - 1; // and so on
penny = 0; // and this is only here because I had an unused int (penny)
printf("%i\n", coin);
}
while 循环工作正常。你会想要让它大于 0,而不是像你现在拥有的那样小于或等于,而且,你不需要定义 quarter/dime 等等,你可以使用 if 语句,例如 if (剩下的美分比硬币价值多)比硬币 -= (这是每次遇到时减少的方式)你要减去的价值。尝试进行这些更改,我可以从那里为您提供更多帮助