c语言输出100到200之间的素数

如题所述

第1个回答  2022-12-11

解题思路:

首先先找出来100~200以内的所有整数,再让这些整数对除了1和它本身以外的数求余,如果有能整除的就不是素数,否则就为素数。

先找出来100到200的所有整数,都为i

用i去对除了1和它本身以外的数求余。

正确的代码:

#include<stdio.h>

int main()

{

int conut = 0;

int i = 0;

for(i=100; i<=200; i++)   

{

int j = 0;

for(j=2; j<i; j++) 

{

if(i%j == 0)

break;

}

if(j==i)

{

conut++;

printf("%d ", i);

}

}

printf("\n");

printf("素数个数为:%d\n", conut);

return 0;

}

第二个if语句的判断条件应该是j==i;而不是i%j 。

扩展资料:

实现的其他方法:

需要用到sort函数,也就是开平方根函数。头文件为#include<math.h>。 显而易见,任何一个数,每一对因子都是由这个数开平方后的数的左右各一个组成,所以,在求余过程中,只需要对从2到开平方之后的数求余即可。遇到可以整除的就不是素数,否则就为素数。

代码:

#include<stdio.h>

#include<math.h>

int main()

{

int count = 0;

int i = 0;

for(i=100; i<=200; i++)

{

int j = 0;

for(j=2; j<=sqrt(i); j++)

{

if(i%j == 0)

break;

}

if(j > sqrt(i))

{

count++;

printf("%d ",i);

}

}

printf("\n");

printf("素数个数为:%d", count);

return 0;

}

相似回答