‘壹’ c语言,输出1-100之间的所有素数,运用自定义函数!用循环来写。
看代码:
#include<stdio.h>
#include<math.h>
//判断是否是素数,是的话返回1,不是返回0
intis_prime(intnum)
{
if(num<2)
{
return0;
}
inti,tmp=(int)sqrt(num);
for(i=2;i<=tmp;++i)
{
if(num%i==0)
{
return0;
}
}
return1;
}
intmain(intargc,char**argv)
{
inti;
printf("1~100的素数: ");
for(i=1;i<=100;++i)
{
if(is_prime(i))
{
printf("%d ",i);
}
}
return0;
}
运行:
‘贰’ 编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语言)
源代码如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{
w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d ",i);
else printf("%d ",i);
}
(2)c语言循环1100素数扩展阅读
1、素数使用for循环查找2-1000以内的所有素数,循环次数为999次,在for循环中添加一个移位寄存器用以存储所有的素数,其初始值为一个空数组。
2、在循环内部逐个数判断是否为素数,若是素数,则使用"数组插入.vi"函数添加到移位寄存器的数组中,否则,移位寄存器中的值保留为上次的值。
‘叁’ 用c语言求500到1000的素数
#include <stdio.h>
int isprime(int n)
{
int i;
前知 if(n<2)
return 0;
for(i=2;i*i<=n;++i)
if(n%i==0)
芹者 return 0;
慧首消 return 1;
}
int main()
{
int i;
for(i=500;i<1000;++i)
if(isprime(i))
printf("%d ",i);
return 0;
}
‘肆’ 用C语言编程 打印出3到1100 之间的全部素数(判素数由函数实现)
/*求2个素数之间个数*/
#include<stdio.h>
#include<math.h>
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个素数
",m,n,t);
}
/*素数统计函数*/
int
count_prines(int
m,int
n)
{
int
i=0,s,k=0,tag=1;
if(m>n)s=m,m=n,n=s;
if(n==2)k=1;
else
if(n>2)
{
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;tag&&i<=s;i+=2)
tag=m%i;
k+=(tag>0);
}
}
}
这个是统计两个数之间的全部素数,很快的,希望对你有帮助!