gpt4 book ai didi

c - While 循环理解

转载 作者:行者123 更新时间:2023-11-30 17:41:11 25 4
gpt4 key购买 nike

我遇到了一个问题,我尝试了好几次来解决这个问题,也许你可以提供帮助。我需要修改下面的程序,以便它要求用户输入除等于被要求输入数字的次数之外的任何数字。 (即,在第一次迭代中“请输入除 0 之外的任何数字”,在第二次迭代中“请输入除 1 之外的任何数字”等。当用户输入他们被要求不输入的数字时,程序必须相应地退出)现在我下面的代码的 react 有点不同,这是我运行它时发生的情况:

Enter a number: 4

Please enter a number other than 4

5

Enter a number other than 5

5

wrong

6

Enter a number other than 6

7

Enter a number other than 6

这是我的代码:

#include <stdio.h>
int main()
{
int number, x=0, counter = 0;
printf("Enter a number: ");
scanf("%d", &number);
printf("Please enter a number other than %d\n", number);
while (number!=x)
{
scanf("%d", &x);
while (x!=counter)
{
printf("Enter a number other than %d\n", x);
scanf("%d", &counter);
if (counter==x)
{
printf("wrong\n");
break;
}
}
if (number==x)
{
printf("wrong\n");
break;
}
}
return 0;
}

我真的希望我正确地解释了这个问题,请告诉我。

最佳答案

如果我理解得很好,你想要一个像这样的程序,不是吗?

Please enter a number other than 0
4
Please enter a number other than 1
7
Please enter a number other than 2
8
Please enter a number other than 3
2
Please enter a number other than 4
4
** END OF PROGRAM **

那么,事情比你想象的要简单得多......

#include <stdio.h>

int main()
{
int number, counter = 0;

do
{
printf("Please enter a number other than %d\n", counter);
scanf("%d", &number);
}
while (number != counter++);
return 0;
}
<小时/>

更新:

#include <stdio.h>

int main()
{
int number = 0, previous;

do
{
previous = number;
printf("Please enter a number other than %d\n", previous);
scanf("%d", &number);
}
while (number != previous);
return 0;
}

关于c - While 循环理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21217521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com