C++ 我的代码有什么问题?c++;

C++ 我的代码有什么问题?c++;,c++,primes,C++,Primes,我试图输出所有的素数直到输入的数字,我不明白为什么它不起作用 有人能花点时间解释一下我做错了什么吗 #include<iostream> #include<string> using namespace std; int main() { int number; cout << "Enter Number: "; cin >> number; for (int a = 2;a <= number;a++)

我试图输出所有的素数直到输入的数字,我不明白为什么它不起作用

有人能花点时间解释一下我做错了什么吗

#include<iostream>
#include<string>
using namespace std;
int main() 
{
    int number;

    cout << "Enter Number: ";
    cin >> number;

    for (int a = 2;a <= number;a++)
    {

        bool prime = false;

        for (int b = 2;b < a;b++)
        {
            if (a%b == 0)
            {
                prime = true;
                break;
            }

            if (prime = true)
                cout << a << endl;
        }       
    }

    system("pause");
    return 0;
}   
#包括
#包括
使用名称空间std;
int main()
{
整数;
数量;
对于本规范中的(int a=2;a)

if (a%b == 0)
{
    prime = true;
        break;
}
if (prime == true)
    cout << a << endl;
你必须这样写:

if (a%b == 0)
{
    prime = false;
        break;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
    int number;

    cout << "Enter Number: ";
    cin >> number;

    for (int a = 2; a <= number; a++)
    {

        bool prime = true;

        for (int b = 2; b < a; b++)
        {
            if (a%b == 0)
            {
                prime = false;
                break;
            }
        }

        if (prime == true)
            cout << a << endl;
    }

    system("pause");
    return 0;
}
同时将
bool prime=false;
更改为
bool prime=true;

最后,该代码:

if (a%b == 0)
{
    prime = true;
        break;
}
if (prime == true)
    cout << a << endl;
结果(示例):

对于(i=2;有两个明显的点:1)素数是除1和它本身之外不能被任何数字整除的数,2)是赋值。当你想进行比较时,你需要的是
=