注册 登录
编程论坛 C++教室

菜鸟问问题~~输出2-1000的质数

lxlx825 发布于 2008-10-08 16:34, 1240 次点击
下面的程序我觉得没问题,但是总是什么都输出不了,请教高手,指点错误,万分感谢
#include<iostream.h>
int main()
{
    int i,j;
    for(i=3;i<1000;i++)
    {    
        for(j=2;j<i;j++)
        {
            if(i%j==0) goto loop;
        }
        break;
loop:
            cout<<i<<'\n';
    }
    return 0;
}
6 回复
#2
很远的那颗星2008-10-08 17:26
初学可以先不考虑效率,但请记住不要用goto
#include<iostream>
using namespace std;
int main()
{
  int i, j;
  for(i=3;i<=1000;i++)
   {
    for(j=2;j<i;j++)
     if(i!=j&&i%j==0)
       break;
     if(i == j) cout<<i<<endl;
  }
system("pause");
}
#3
守鹤2008-10-08 17:38
goto现在流行这个嘛?
#4
lxlx8252008-10-08 17:48
[bo][un]很远的那颗星[/un] 在 2008-10-8 17:26 的发言:[/bo]

初学可以先不考虑效率,但请记住不要用goto
 

感谢星星,我也是没办法了才用的,以后不用了。。。。
现在终于有个地方问问题了,学起来也容易些,再次谢谢
#5
冰烨2008-10-09 08:52
goto是被绝大多数程序员鄙视的语句
#6
tfg01162008-10-09 14:22
#include<iostream.h>
int main()
{
    int i, j, k = 0;
    for(i = 3; i < 1000; i++)   
        for(j = 2; j < i; j++)
        {
            if(i%j == 0)
            {
                break;
            }
        if(i/2 < j)
            {
               cout<<i<<'\t';
               k++;
                if(k%10 == 0)
                cout<<endl;
                break;
            }
        }
    return 0;
}
#7
tfg01162008-10-09 14:23
#include<iostream.h>
int main()
{
    int i, j, k = 0;
    for(i = 3; i < 1000; i++)   
        for(j = 2; j < i; j++)
        {
            if(i%j == 0)
            {
                break;
            }
        if(i/2 < j)
            {
               cout<<i<<'\t';
               k++;
                if(k%10 == 0)
                cout<<endl;
                break;
            }
        }
    return 0;
}
1