cs50 - population -而“小于”接受相等的值

4nkexdtk  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(62)
#include <cs50.h>
#include <stdio.h>

int main(void)
{
    // TODO: Prompt for start size
    int n;
    do
    {
        n = get_int("Positive Interger Greater Than 9: ");

    }
    while (n < 9);

    // TODO: Prompt for end size
    int x;
    do
    {
        x = get_int("Positive Int. Greater Than Start: ");
    }
    while (x < n);

    // TODO: Calculate number of years until we reach threshold
    int y = 0;
    do
    {
        n = n + (n / 3) - (n / 4);
        y++;
    }
    while (n < x);

    // TODO: Print number of years
    printf("Years: %i\n", y);
}

这就是我所拥有的,其他一切似乎都可以工作,但当我尝试在开始提示符中输入“9”时,程序接受该输入,即使9 < 9是一个错误的语句,因此应该再次提示,对吗?
我错过了什么
同样的事情发生在下一个提示符中,当我输入相同的值时,输入必须小于原始输入(n),程序接受它,而不是提示我进行新的输入
我试着把它改成n < 10,但我只是觉得这似乎不是正确的解决方案,是吗?
特别是考虑到第二部分,我必须使它小于前一个int

7hiiyaii

7hiiyaii1#

考虑像注解的要求那样编码:

// do {
//   n = get_int("Positive Interger Greater Than 9: ");
// } while (n < 9);

do {
  n = get_int("Positive Integer Greater Than 9: ");
} while (!(n > 9));  // Repeat if n > 9 not satisfied.

(Tip:也运行拼写检查器。)

相关问题