编写C语言程序,求100~200之间所有素数。

2024-12-05 04:35:45
推荐回答(5个)
回答1:

素数就是只能被1和本身整除的数,先定义一个函数用于判断一个数是否是素数,在从100到200依次循环判断,如果是素数则输出。

参考代码:

#include
int fun(int n){//判断n是否是素数
int i;
for(i=2;i if(n%i==0) return 0;
return 1; 

int main()
{
 int i;
 for(i=100;i<=200;i++)//循环判断
  if(fun(i))
printf("%d ",i);
 return 0;
}
/*
运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
*/

回答2:

#include
void main()
{
void outputsushu(int k);
int i;
for(i=100;i<=200;i++)
outputsushu(i);
}
void outputsushu(int k)
{
int w=0,t;
for(t=2;t<=k/2;t++) /*从2判断到k/2个数,你也可以判断到根号k个数,但要用到math.h函数*/
{
if(k%t==0)
w=w++; /*通过定义一个标记,都不能整除,标记不变保持0值,整除了加1,判断最后有没有整除就可以*/
}
if(w==0)
printf("%d\t是素数\n",k);
else
printf("%d\t不是素数\n",k);
}

回答3:

#include
void
main()
{
void
outputsushu(int
k);
int
i;
for(i=100;i<=200;i++)
outputsushu(i);
}
void
outputsushu(int
k)
{
int
w=0,t;
for(t=2;t<=k/2;t++)
/*从2判断到k/2个数,你也可以判断到
根号
k个数,但要用到math.h
函数
*/
{
if(k%t==0)
w=w++;
/*通过
定义
一个
标记
,都不能整除,标记不变保持0值,整除了加1,判断最后有没有整除就可以*/
}
if(w==0)
printf("%d\t是素数\n",k);
else
printf("%d\t不是素数\n",k);
}

回答4:

# include
# include
int main()
{
int i,k,n=0;
for(i=101;i<=200;i+=2)
{
for(k=2;k<=sqrt(i*1.0);k++)
{
if(i%k==0)break;
}
if(k>sqrt(i*1.0))
{
printf("%d ",i);
n++;
}
if(n%10==0)
printf("\n");
}

return 0;
}

回答5:

#include
#include
int isprime(int n)
{
int i,k=0,m;
m=sqrt(n);
for(i=2;i<=m;i++)
if(n%i==0)
k++;
if(!k)
return 1;
else
return 0;
}
void main()
{
int i,j=0;
for(i=100;i<200;i++)
if(isprime(i))
{printf("%5d",i);j++;
if(j%5==0)
printf("\n");}
printf("\n");
for(i=2;i<1000;i++)
if(isprime(i)&&isprime(i+2))
{printf("%5d",i);j++;
if(j%5==0)
printf("\n");}
printf("\n");
}