c语言求一个区间里的所有素数

c语言求一个区间里的所有素数

需要的材料:window10系统,一个可以正常使用的编译器(博主我用的是notepad++)。
素数的定义:素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数。
运用的原理和方法:判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。

c语言的源代码如下:

#include <stdio.h>
     void main(){	 
	 int a;//用户输入区间的最小值
	 int b;//用户输入区间的最大值
     int i;
     int n;
 //这里是判断用户输入的情况
	printf("请输入区间的最小值(必须是大于1整数):");
	scanf("%d",&a);
	if(a<=1){ 
	printf("请输入大于1数\n");
	return ;
 }
	 printf("\n输入区间最大值:");
	 scanf("%d",&b);
    if(b<=1)
	{ 
	printf("请输入大于1的数\n");
	return;
	}	
    if(a>=b){
	printf("区间输入错误请重新输入");
	return;
    }
//---------------------------
  //导入主要的计算,这里运用到了for循环和if的判断语句
   for(n=a;n<=b;n++)
   {
    if(n>1)
	{
	   for(i=2;i<n;i++)
	{
	 if(n%i==0) 
		 break;
    }         
if(i==n)   
/*根据原理可以知道,如果少了这个判断的话,打印出来的结果里面会出现9,但是9不是素数。*/
   {         //故此我们需要先判断再打印结果
	
	printf("%d  ",n);
        }
  } 

}
 //return 0;  //这里不需要返回一个0值
   }

利用window操作系统下的dos输入的结果如下:

在这里插入图片描述

                             感谢阅读。。。。
发布了3 篇原创文章 · 获赞 0 · 访问量 398

猜你喜欢

转载自blog.csdn.net/Mijac_lan/article/details/102732676
今日推荐