1. 首页 > 科技

C++输出2-100的质数,五个一行,有空白换行是什么原因? 编程求2到100所有素数

C++输出2-100的质数,五个一行,有空白换行是什么原因?编程求2到100所有素数

c语言找出2~100之间的所有素数,每五个一行输出。

1、while前面增加一行:i=2,tag=1;

2、tag=0;的后面增加break;并把它们花括号在一起,写成:{tag=0;break;}

3、i++;后面增加一个花括号,写成:i++;}

4、两行printf("\n");之间的花括号,去掉一个,留3个。

应该没有其他错误了。

C语言100以内所有质数,5个换行,并求和 急用,

#include<stdio.h>

#include<math.h>

int main()

{

    int a[25],flag,pos=0,sum=0;//a[25]存放100以内的质数,flag为标志位,若不是质

    //就赋值为0,pos记录a[25]中的下一个存储下标,sum存放质数之和。 

    for(int i=2;i!=101;i++)

    {//循环遍历2-100的数,1不是质数 

         flag=1;

         for(int j=0;(j!=pos)&&(a[j]<=floor(sqrt(i)));j++)

         {//根据质数判断定理:“对正整数n,如果用小于或等于根号n的所有质数去除,

         //无法整除,则n为质数” ,pos之前的位置都存放了质数。 

             if(i%a[j]==0)

             {

                 flag=0;

                 break;

             }

         }

         if(flag||!pos)

         {//此处的pos取反,用于第一个质数存入,第一个质数不满足上面的判断 

             a[pos]=i;

             sum+=a[pos];

             ++pos;         

         }

    }

    //显示所有质数 

    for(int i=0;i!=25;i++)

    {

        printf("%d  ",a[i]);

    }

    //打印和 

    printf("\n求得的和为:\n");

    printf("%d\n",sum);

}结果如图:

"C语言设计:输入两个数,输出两数之间的素数及其个数,输出要求每5个数一换行"

#include <stdio.h>

int prime(int number)

{

int i;

for(i=2;i*i<=number;i++)

if(number%i==0)return 0;

return 1;

}

int main()

{

int m,n,i,count=0;

printf("请输入两个数a,b,(a<b,空格隔开):\n");

scanf("%d %d",&m,&n);

for(i=m;i<=n;i++){

if(prime(i)==1){

printf("%10d",i);

count++;

if(count%5==0)

printf("\n");

}

}

printf("\n");

return 0;

}

2~100内所有素数,每行显示5个 c++

#include<iostream.h>

bool isLeap(int n) //该函du数zhi用于判断dao版n是否是权素数

{

if(n == 2) return true;

else

{

int i;

for(i = 2; i < n / 2; ++i)

{

if( n % i == 0) return false;

}

return true;

}

}

void main()

{

const int N=100;

int j,counter = 0;

for(j = 2; j <= N; ++j)

{

if( isLeap(j))

{

if(counter++ % 5 == 0)

{

cout << endl;

}

cout << j << '\t';

}

}

}