打印出用户输入和条件之间可以被 2 和 3 整除的所有数字。while 循环要求另一个数字
Posted
技术标签:
【中文标题】打印出用户输入和条件之间可以被 2 和 3 整除的所有数字。while 循环要求另一个数字【英文标题】:print out all the numbers between user input and condition that are divisible by 2 and 3. while loop ask for another number 【发布时间】:2020-10-08 01:32:47 【问题描述】:#include <iostream>
using namespace std;
int main()
int x;
cout << "Enter in value: " << endl;
cout << "\/";
cin >> x;
while(x < 0)
cout << "value cannot be negative" << endl;
cin >> x;
for (int y = 0; y < x; y++)
if (y % 2 == 0 && y % 3 == 0)
cout << y << " " << endl;
int main();
int x = 100;
char ans = 'N';
do
cout << "Do you want to continue (Y/N)?\n";
cout << "You must type a 'Y' or an 'N' :";
cin >> ans;
while ((ans == 'Y') || (ans == 'y'));
system("pause");
return(0);
我的问题是,当我输入一个数字时,它会显示可被 2 和 3 整除的值,但是当“你想继续”部分运行时,它只是不断询问你想继续而不是输入另一个号码。
【问题讨论】:
int main(); int x = 100;
- 无论您希望这样做,它都不会。它声明了一个函数(已知)并定义了一个立即超出范围的变量。因此,它只不过是一个非常复杂的无操作,如果完全合法的话。
【参考方案1】:
我不完全确定您在这里尝试做什么或是否允许这样做,
int main();
int x = 100;
但这可能是由于我的 cpp 知识。 无论如何,我做这些事情的方式是将要在 while 循环中重新运行的代码包围起来。然后在显示可整除的数字后(在 while 循环内),您可以询问用户是否要继续。如果用户想继续,什么都不做,while 循环将再次运行。如果用户想要退出,请中断 while 循环并可能也终止程序。
int main()
while(true)
// your code that needs to be repeated goes here
int x;
cout << "Enter in value: " << endl;
cout << "\/";
cin >> x;
while(x < 0)
cout << "value cannot be negative" << endl;
cin >> x;
for (int y = 0; y < x; y++)
if (y % 2 == 0 && y % 3 == 0)
cout << y << " " << endl;
//ask the user to continue here
cout << "Do you want to continue (Y/N)?\n";
cout << "You must type a 'Y' or an 'N' :";
cin >> ans;
//define the break condition for the loop
if((ans != 'Y') || (ans != 'y'))
break;
因为我们将一开始的while条件设置为true,所以循环会再次执行,直到我们手动停止它。为此,我们使用了 break 语句并将其与用户未输入“Y”或“y”的条件相结合。但是你可以给它任何你想要的条件。 现在如果提示用户输入一个字符,如果他输入'y',程序将前进到while循环的下一次迭代,重新开始代码的除法部分。
我希望这是可以理解和有帮助的,并为您的问题提供可能的解决方案!
【讨论】:
以上是关于打印出用户输入和条件之间可以被 2 和 3 整除的所有数字。while 循环要求另一个数字的主要内容,如果未能解决你的问题,请参考以下文章
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
C语言 编写程序,求出1~100之间所有能被3整除的整数,将他们输出,并且统计这些数总