【发布时间】:2021-03-28 19:55:21
【问题描述】:
我的程序运行,但实际上并没有按照我的意愿执行。它提示输入开始尺寸,然后提示输入结束尺寸,然后就是这样。我希望它然后使用输入的数字来计算需要多少年,但我似乎无法让它做到这一点。提前感谢您的任何建议!
我的代码如下:
#include <cs50.h>
#include <stdio.h>
int main(void)
{
// TO DO: Prompt for start size
int start;
do
{
start = get_int("Start Size: ");
}
while (start < 9);
// TO DO: Prompt for end size
int end;
do
{
end = get_int("End Size: ");
}
while (end <= start);
// TO DO: Calculate number of years until we reach threshold
int years;
do
{
years = (start + start/3 - start/4);
}
while (end > start);
// TO DO: Print number of years
printf("Years:%i\n", years);
}
【问题讨论】:
-
请重新格式化(删除空行、缩进等)。此外,更准确地了解您获得的输出和期望的输出。此外,您应该为我们提供独立的示例。 get_in() 未定义。
-
您的最后一个循环将永远运行,因为您永远不会修改其中的
start或end -
建议大家学习做基本的调试,这样可以自己发现此类问题。在调试器中运行您的程序并逐行执行,检查运行时的变量值。
-
你不是说
int years = 0;和start = (start + start/3 - start/4);后面跟years = years + 1;吗?? -
谢谢大家,感谢您的建议。我不知道我的意思……*叹息*。我对编程世界很陌生,这是我从事的第一个任务。我使用了 help50 工具,并且一直在修改和检查……好几个小时。我终于得到它来计算问题了,但它还没有通过所有的测试。