c语言判断素数

编写一个函数,求一个整数区间(例如10到50之间)的所有素数,主函数完成整数区间的输入,调用所编函数得到该区间的所有素数,并把得到的素数显示,注意,不得使用全局变量,注意程序结构.

第1个回答  2018-01-05

介绍三种使用C语言来判断素数的方法,以及用做素数表来判断找素数的方法。

第2个回答  2009-05-17
#include<stdio.h>
void main()
{
void fun(int mi,int ma);
int min,max;
printf("输入区间的下线和上线\n");
scanf("%d%d",&min,&max);
fun(min,max);

}
void fun(int mi,int ma)
{
int i,j,count=0;
for(i=mi;i<=ma;i++)
for(j=2;j<i;j++)//检验能否被2-小于它的所有数除尽
{
if(i%j==0)
break;
if(j==i-1)//当这个除数和被除数相等时说明它是个数素
{
printf("%d\t",i);
count++;
if(count%6==0)//每行输出6个数字
printf("\n");
}
}

}
第3个回答  2009-05-17
#include <stdio.h>
#include <math.h>

void sushu(int min, int max)
{
int i, j, finish;
double t;

for (i = min; i <= max; ++i)
{
finish = 1;
t = sqrt(i);

for (j = 2; j <= t; ++j)
{
if (i % j == 0)
{
finish = 0;
break;
}
}

if (finish)
printf("%d ", i);
}
putchar('\n');
}

void main()
{
int min, max;

scanf("%d %d", &min, &max);
sushu(min, max);
}
第4个回答  2009-05-17
#include"stdio.h"

void odd(int a){
int i,k=0;
for(i=2;i<a/2;i++){
if(a%i==0) k++;}
if(k==0) printf("%d\n",a);
}

main(){
int i,min,max;
printf("请输入下限\n");
scanf("%d",&min);
printf("请输入上限\n");
scanf("%d",&max);
for(i=min;i<=max;i++){
odd(i);}
}
第5个回答  2009-05-17
/* Note:Your choice is C IDE */
#include "stdio.h"
#include<math.h>
void main()
{int s1,s2;
void sushu(int s1,int s2);
printf("请输入上下限");
scanf("%d%d",&s1,&s2);
sushu(s1,s2);

}

void sushu(int s1,int s2)
{ int i,j,m=0;
for(i=s1;i<=s2;i++)
{ m=0;
for(j=2;j<=sqrt(i);j++)
if(i%j==0) { m=1;break;}
if(m==1) continue;
else printf("%d ",i);
}
}

可以么本回答被提问者采纳