打印出用户输入和条件之间可以被 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 循环要求另一个数字的主要内容,如果未能解决你的问题,请参考以下文章

c语言:输出100~200之间的不能被3整除的数。

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

C语言程序设计判断某一年是不是是闰年

C语言 编写程序,求出1~100之间所有能被3整除的整数,将他们输出,并且统计这些数总

要求用户键入一个整数然后打印“是”如果该整数可以被3整除,否则打印“否”(Python)[重复]

打印100~200之间的素数