C语言编写输出100到200之间的全部素数并统计个数?

如题所述

首先定义一个素数判断函数fun,int fun(int x),在里面如果x能被2整除,return 0,然后进入一个以3为初值,步长为2,条件测试表达式为<sqrt(x)的for循环,如果x能被i(循环变量)整除,则也是return 0,最后,添加返回语句return 1。
然后在main函数中建立一个以100为初始值,测试条件为<200,步长为1的for循环,循环体里执行的是以循环变量为参数调用fun函数,如果它的返回值是1,则输出循环变量的值,并对统计变量的值加1,最后,循环结束后,输出统计变量的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-06
因为10000到2之间的所有素数全部是奇数,所以只要,枚举从101到199之间的全部奇数,如果它是素数,就把他输出,并且统计个数,奇,循环结束的时候再输出素数的个数就可以了。
#include<stdio.h>
int main()
{ int i,j,n=0;
for(i=101; i<200; i+=2)
{ for(j=3; j*j<=i; j+=2)
if(i%j==0)break;
if(j*j>i)
{ printf("%d ",i);
n++;
}
}
printf("\n共%d个\n",n);
return 0;
}
相似回答