Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 查找1到100之间素数的程序的问题_C++ - Fatal编程技术网

C++ 查找1到100之间素数的程序的问题

C++ 查找1到100之间素数的程序的问题,c++,C++,我写了这个程序,它可以找到并显示从1到100的素数 int ifprime (int n) { int i=1; while (i<= n) { i++; if (n%i == 0) { return false; break; } else continue; } return true; } int prime_nu

我写了这个程序,它可以找到并显示从1到100的素数

int ifprime (int n)
{
    int i=1;
    while (i<= n)
    {
        i++;
        if (n%i == 0) 
        {
            return false;
            break;
        }
        else continue;
    }
    return true;
}

int prime_numbers (void)
{
    bool result;
    for (int i = 2; i<=100; ++i)
    {
        result = ifprime(i);
        if (result==true) cout<<i<<endl;
        else continue;

    }
}

int main()
{
    prime_numbers();
    return 0;
}
intifprime(intn)
{
int i=1;

而(i正如评论中指出的,每个非零数字都可以被1和它本身整除。更改这一行(第4行)


while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)


while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)


while(i正如注释中所指出的,每个非零数字都可以被1和自身整除。更改这一行(第4行)


while(i如果这是您的全部代码,那么您只是缺少了一个
main()
函数

虽然没有
main()
函数它不应该链接

代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因

尝试将此添加到您的文件:

int main()
{
    prime_numbers();
    return 0;
}

如果这就是您的全部代码,那么您只是缺少了一个
main()
函数

虽然没有
main()
函数它不应该链接

代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因

尝试将此添加到您的文件:

int main()
{
    prime_numbers();
    return 0;
}

如果这就是您的全部代码,那么您只是缺少了一个
main()
函数

虽然没有
main()
函数它不应该链接

代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因

尝试将此添加到您的文件:

int main()
{
    prime_numbers();
    return 0;
}

如果这就是您的全部代码,那么您只是缺少了一个
main()
函数

虽然没有
main()
函数它不应该链接

代码中还存在一些其他问题,但这可能就是您没有看到任何输出的原因

尝试将此添加到您的文件:

int main()
{
    prime_numbers();
    return 0;
}
将循环更改为:

for(int i=2; i<n; i++){
    if(n%i==0){
         return false;
    }
}
for(int i=2;i将循环更改为:

for(int i=2; i<n; i++){
    if(n%i==0){
         return false;
    }
}
for(int i=2;i将循环更改为:

for(int i=2; i<n; i++){
    if(n%i==0){
         return false;
    }
}
for(int i=2;i将循环更改为:

for(int i=2; i<n; i++){
    if(n%i==0){
         return false;
    }
}

for(int i=2;i许多人指出了以下问题:

while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于
n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:

while (i*i <= n)

while(i*i许多人指出了以下问题:

while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于
n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:

while (i*i <= n)

while(i*i许多人指出了以下问题:

while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于
n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:

while (i*i <= n)

while(i*i许多人指出了以下问题:

while (i <= n)
但是我回答的原因是,您可以做其他事情来改进代码。第一个改进是,您不需要尝试除以大于
n
平方根的数字,因为如果有大于它的数字,那么也有小于它的除数。因此,您可以这样做:

while (i*i <= n)


while(我*欢迎使用StackOverflow。这就是您的全部程序吗?因为您没有包含任何
main()
调用上述任何函数的函数
return;break;
都是毫无意义的。return会立即终止函数。这使得
break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何
main()
调用上述任何函数的函数
return;break;
都是毫无意义的。return会立即终止函数。这使得
break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何
main()
调用上述任何函数的函数
return;break;
都是毫无意义的。return会立即终止函数。这使得
break
调用无效/无法访问的代码。一切都可以被它自己分割欢迎使用StackOverflow。这就是你的全部程序吗?因为你没有包含任何
main()
调用上述任何函数的函数
return;break;
是没有意义的。return会立即终止函数。这使得
break
调用无效/无法访问的代码。所有东西都可以被它自己整除。您也可以从1开始。因此n%1将始终为0。@user3813353有一个postinument,preincrementing@user3813353很好,但是
i
被初始化为
1
,并在第一次比较之前递增(因此在该点上已经是
2
)。您也从1开始。因此n%1将始终为0。@user3813353有一个后增量,preincrementing@user3813353很好,但是
i
被初始化为
1
,并在第一次比较之前递增(因此在该点上已经是
2
)。您也从1开始。因此n%1将始终为0。@user3813353有一个后增量,preincrementing@user3813353很好,但是
i
初始化为
1
,并在第一次比较之前递增