dadayx
2015-10-25 05:01
采纳率: 75%
浏览 1.4k

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 这个素数

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2015-10-25 05:09
    已采纳
    
    #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;
    }
    
    
    打赏 评论
  • ysuwood 2015-10-25 05:27

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

     for (int j = 2;j < =i;j++) 
    
    打赏 评论
  • ZGP&talent 2015-10-26 06:33

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

    打赏 评论
  • ZGP&talent 2015-10-26 06:34

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

    打赏 评论

相关推荐 更多相似问题