c++问题,新手求大神解救,

#include
#include
using namespace std;
void main()
{
int a = 0;
for (int i = 1;i <= 1000;i++)

{
    for (int j = 2;j < i;j++) {
        {if (i == 2) cout << i;
        else    if (i%j == 0)  break;
        }
        if (j == (i - 1))
        {
            cout << i << " ";
            a++;
            if (a % 6 == 0)
            {
                cout << '\n';
            }
        }
    }
}
cout << "总共" << a;

}

输出后没有 2 这个素数


#include <iostream>
using namespace std;
int main() 
{
    int a = 0;
    for (int i = 1;i <= 1000;i++)

    {
        for (int j = 2;j <= i;j++) {
            {if (i == 2) cout << i << " ";
            else    if (i%j == 0)  break;
            }
            if (j == (i - 1))
            {
                cout << i << " ";
                a++;
                if (a % 6 == 0)
                {
                    cout << '\n';
                }
            }
        }
    }
    cout << "总共" << a;
}

for (int j = 2;j < i;j++)
这一行出错了,i=2时,j<i,为假,不输出。
改为:

 for (int j = 2;j < =i;j++) 

你不觉得你那样写,编译不通过吗?
难道编译没报 j 未定义的错误吗?

你不觉得你那样写,编译不通过吗?
难道编译没报 j 未定义的错误吗?