用C语言编写在自然数中输出100以内的素数?

2024-11-18 12:21:38
推荐回答(5个)
回答1:

#include

//输出100之内的所有素数

int main()

{

int i;

int j;

int flag = 1;

for(i = 2;i <= 100;i++)

{

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

{

if(i % j ==0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

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

}

flag = 1;

}

return 0;

}

扩展资料

#include

int main()

{

int a;

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

{

int a = 0;

/* code */

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

{

/* code */

if (i % j == 0)

{

/* code */

a++;

}

}

if (a == 0)

{

/* code */

printf("%d is sushu\n", i);

}

else

{

/* code */

printf("%d is not sushu\n", i);

}

}

return 0;

}

回答2:

在自然数中输出100以内的素数的源代码如下:

#include

#include

int main()

{

int x;

scanf("%d",&x); 

if(x==2||x==3) 

{

printf("%d是素数",x);

return 0;

else if((x==1)||(x%6!=1&&x%6!=5)) 

{

printf("%d不是素数",x);

return 0;

}

else

{

for(int i=5;i<=sqrt(x);i+=6)

if(x%i==0||x%(i+2)==0) 

{

printf("%d不是素数",x);

return 0;

}

printf("%d是素数",x);

return 0;

}

扩展资料

/*判断101-200之间有多少个素数,并输出所有素数及素数的个数的源代码如下:

#include "math.h"

main()

{

intm,i,k,h=0,leap=1;

 printf("\n");

 for(m=101;m<=200;m++)

 {

k=sqrt(m+1);

for(i=2;i<=k;i++)

 if(m%i==0)

 {

leap=0;break;

}

if(leap)    /*内循环结束后,leap依然为1,则m是素数*/

{printf("%-4d",m);h++;

 if(h%10==0)

 printf("\n");

  }

 leap=1;

}

printf("\nThetotal is %d",h);

}

回答3:

我提供两种方法先是最简单的数组筛子:把数组下标当做对象;
#include
int main()
{
int a[101]={0},i,m;
for(i=2;i<=100;i++)
for(m=2;i*m<=100;m++)
a[i*m]=1; \*被赋为1的数组元素的下标则不是素数*\
for(i=2;i<=100;i++)
if(a[i]==0)
printf("%d",i);
}

下面给出另一代码:
#include
int main()
{
int i,j,k=1;
printf("100以内的素数有:2 "); \*首先输出2*\
for(i=3;i<=100;i++)
{ for(j=2;j if(i%j==0) { k=0;break; }
if(k==1)
printf("%d ",i);
}
}

上面代码还可用到sqrt()函数for(j=2;j

回答4:

#include
int main(void)
{
int i,j,k;
printf("%d\n",2);2肯定是素数[em02]
for(i=1;i<=100;i+=2)
{
for(j=2;j if(i%j==0) break;
if(i==j)
printf("%d\n",i);
}
return 0;
}

回答5:

C语言经典例子之求100之内的素数