C语言编程 求出200到300 之间的全部素数

如题所述

/******子函数的设计在于可重用性,主函数只是调用******/
#include<stdio.h>
int prime(int m) /*判断素数*/
{
int i;
int n = sqrt(m);
for(i = 2;i <= n;i++){
if(m%i == 0) return 0;
}

return 1;
}
/*******调用时start=200,end=300即可********************/
void func(int start,int end)
{
int i;
for(i = start,i <= end,i++){
if(prime(i))
printf("%d\n",i);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-18
#include <stdio.h>
#include <math.h>
int isprime(int n)
{
int i,k;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)
break;
if(i>k)
return 1;
return 0;
}
int main()
{
int i;
for(i=200;i<=300;i++)
if(isprime(i))
printf("%d\t",i);
return 0;
}本回答被网友采纳
第2个回答  推荐于2017-09-30
运行效果:
16
211 223 227 229 233 239
241 251 257 263 269 271
277 281 283 293
int IsPrim(int n)
{
int i=0;
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i==n)
return 1;
else
return 0;
}
void main()
{
int a[100];
int i,j;
for(i=200,j=0;i<300;i++)
{
if(IsPrim(i))
a[j++]=i;
}
printf("%d\n",j);
for(i=0;i<j;i++)
{
printf("%d ",a[i]);
if((i+1)%6==0)/*每行打印6个*/
printf("\n");
}
getche();
}本回答被提问者采纳