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

如题所述

#include<stdio.h>

//输出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 <stdio.h>

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;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-09

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

#include <stdio.h>

#include <math.h>

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);

}

本回答被网友采纳
第2个回答  2007-11-20
我提供两种方法先是最简单的数组筛子:把数组下标当做对象;
#include <stdio.h>
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 <stdio.h>
int main()
{
int i,j,k=1;
printf("100以内的素数有:2 "); \*首先输出2*\
for(i=3;i<=100;i++)
{ for(j=2;j<i;j++)
if(i%j==0) { k=0;break; }
if(k==1)
printf("%d ",i);
}
}

上面代码还可用到sqrt()函数for(j=2;j<i;j++)改为for(j=2;j<sqrt(i);j++)这样可简化计算。希望对你有帮助。
第3个回答  推荐于2017-10-05
#include <stdio.h>
int main(void)
{
int i,j,k;
printf("%d\n",2);2肯定是素数[em02]
for(i=1;i<=100;i+=2)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
printf("%d\n",i);
}
return 0;
}本回答被提问者采纳
第4个回答  2020-10-21

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

用C语言编写在自然数中输出100以内的素数?
include<stdio.h> \/\/输出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;} ...

C语言,列出100以内的素数
列出100以内的素数 代码如下:include <stdio.h> int main(void){ int i,j,k;printf("%d\\n",2);2肯定是素数[em02]for(i=1;i<=100;i+=2){ for(j=2;j

用C#编程输出100以内的所有素数。
用C#编程输出100以内的所有素数可以采用以下的代码:int i = 1;\/\/循环变量 bool s; \/\/表示是否为素数 for (; i < 100; i++){ s = true;\/\/假设当前的i为素数 for (int j = 2; j < i; j++){ \/\/如果i能被它本身和1以外的数整除,那么他就不是素数 if (i % j == 0)s =...

用c 求100以内的素数
在C语言中,求取100以内的素数是一个常见的编程题目。下面,我将为您详细介绍如何实现这个任务。首先,我们需要了解素数的定义。素数是一个只有1和它本身两个正除数的自然数。例如,2、3、5、7、11、13等都是素数。实现过程如下:1. 使用一个循环结构(for循环)从2开始遍历到100(包括100),遍历...

运行c语言 打印输出100以内的所有素数(质数)
include <stdio.h>int main()\/\/{ int i,t,count=0;\/\/ for(i=2;i<100;i++) { for(t=2;t<=i\/2;t++)\/\/ if (i%t==0) break; if (t>i\/2){ count++; printf("%-3d",i); if (count%5==0) printf("\\n");\/\/}} return 0;} ...

用C语言输出100之间的所有质数
建立主函数:2、主函数上面新建一个判断素数的函数isPrime,判断依据是小于从2到算数平方根的数即是素数。然后在主函数中遍历2到100的数,调用isPrime判断满足素数条件就输出:3、写完代码最后打开编译后的调试窗口,屏幕就会打印出100以内的所有有素数了。以上就是用C语言输出100之间的所有素数的操作:...

用c语言:输出在1~100内的所有素数
include<stdio.h> include<math.h> intmain(){ intn;inti;intflag=0;for(n=2;n<=100;n++){ flag=0;for(i=2;i<=sqrt(n);i++){ if(n%i==0){ flag=1;break;} } if(flag==0)printf("%d",n);} return0;}

C语言求100以内素数的问题
printf("%d ",i);} } printf("\\ncount=%d\\n",count);return 0;} 解题思路:素数,就是除了1和他本身,不能被其他数整除的数字。答案就是用100到200之间的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。

c语言求100以内的所有素数
C语言求100以内的素数编程的思路和方法如下:1、首先需要定义两个整型的游标变量,用于后续的循环操作。这里定义两个变量为i,j。2、接着适用for循环来分别计算100以内的数。其中游标适用i变量。(因为第一个素数是3,所以循环变量游标从数字3开始)3、接着在第一个for循环的开头添加布尔变量tag,这个...

用C语言编写一个程序,输出100以内的所有的素数.要求每行仅输出5个素数...
除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:include "stdio.h"int main(int argc,char *argv[]){ int i,n,t;pr include include main(){ int a,i,flag,count...

相似回答