C语言实现输出指定范围的素数/质数
老版本:主函数中实现
思路:
1.判断区间为3~sqrt(本身)
2.排除偶数//被判断数和判断数中都排除
一.素数在数组中顺序存储
#include<stdio.h>
#include<math.h>
#define swap(a,b){
a=a^b;b=a^b;a=a^b;}//定义数字交换的宏
int main(void) {
int sub=1,sqr;//定义sub记录下标,从1开始;定义sqr缩小判断范围
const int N=1000;
printf("输出2-%d之间的素数\n",N);
int prime[N]={
2,0};//定义数组存放素数,除prime[0]外全部初始化为0
for(int i=3;i<=N;i+=2){
//判断从3到N的奇数,排除大于2偶数
// if(i%2==0) continue;//如果i为2的倍数,不是素数,继续下次循环 i++时
sqr=sqrt(i);
int flag=0;
for(int j=3;j<=sqr;j+=2){
//判断从3到sqr的奇数是否能整除i
if(i%j==0) {
flag=