c语言用函数打印素数 用c语言打出素数

用C语言编程 打印出3到1100 之间的全部素数(判素数由函数实现)

/*求2个素数之间个数*/

创新互联公司是少有的网站设计、成都做网站、营销型企业网站、成都微信小程序、手机APP,开发、制作、设计、卖友情链接、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评

#include

#include

int

count_prines(int,int);

void

main(void)

{

int

m,n,t;

printf("请输入2个自然数:");

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

t=count_prines(m,n);

printf("在%d和%d之间有%d个素数\n",m,n,t);

}

/*素数统计函数*/

int

count_prines(int

m,int

n)

{

int

i=0,s,k=0,tag=1;

if(mn)s=m,m=n,n=s;

if(n==2)k=1;

else

if(n2)

{

if(m=2)k=1,m=3;

else

m+=1-m%2;

for(;m=n;m+=2)

{

tag=1;

s=(int)sqrt(m);

for(i=3;tagi=s;i+=2)

tag=m%i;

k+=(tag0);

}

}

}

这个是统计两个数之间的全部素数,很快的,希望对你有帮助!

c语言用函数输出素数

#include stdio.h

#include math.h

int main(void)

{

int i,j,a[101];

for(i=0;i=99;i++)

a[i]=i+1;

a[0]=0;          //将1挖掉       

for(i=1;isqrt(100);i++)     //将2,3,4,5,6,7,8,9的倍数挖掉

for(j=i+1;j=100;j++) 

{

if(a[i]!=0  a[j]!=0) //寻找没有被挖空的数组

if(a[j]%a[i]==0)      //将a[i]的倍数挖掉

a[j]=0;    

}

for(i=1,j=0;i101;i++)

{

if(a[i]!=0)

{

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

j++;     //记录输出的数据

}

if(j==10)     //控制输出10 个数据就换行

{

printf("\n");

j=0; 

}

}

return 0;

}

~~~~~~~~~~~~~~~~~~~~~~~

我写的代码,你自己看看你的程序那里不对,

我说下,你的程序好像少了一个 } 而且   void a(int x)那一个是函数声明?哪一个是调用函数?你得用 ;啊

C语言 输出1到100之间的全部素数?

有三种方法:

1、输出1-100以内的素数:

2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。

若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。

3、该方法是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数100)。

扩展资料:

在这个小程序中主要用到的是for循环

for 循环语句的一般形式为:

for (表达式1; 表达式2; 表达式3)

{

语句;

}

需要注意的两点:

1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。

2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。

因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。


分享名称:c语言用函数打印素数 用c语言打出素数
转载来源:http://scyanting.com/article/ddghhjo.html