代码按预期工作,但我的问题是我不希望它打印语句"0 days amounts to: 0 weeks, 0 days."
。
#include <stdio.h>
int main() {
int days;
while (days >= 1) {
printf("*** Days to Weeks Program ***\n"
"Enter the number of days (or 0 to quit): ");
scanf("%d", &days);
int days_rem, weeks;
int const days_per_week = 7;
weeks = days / days_per_week;
days_rem = days % days_per_week;
printf("%d days amounts to: %d weeks, %d days.\n", days, weeks,
days_rem);
}
printf("Thank you for playing!");
return 0;
}
字符串
我尽量不使用if
语句。我只使用代码中的信息。
1条答案
按热度按时间hc8w905p1#
在这个序列中,你声明了一个变量,但没有初始化它:
字符串
当你在
while
循环中读取days
的值时,days
有一个不确定的值,使用这样的值会使你的程序变得不可预测。在检查值是什么之前,你应该 * 首先 * 给days
赋值。我希望它不要打印
"0 days amounts to: 0 weeks, 0 days."
语句.尽量不要使用if语句然后,您需要使这部分成为循环条件。
为了使它简单,我建议将用户输入部分分解出来,并将其放在自己的函数中。
它可能看起来像这样:
型