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输入的结果如下:
感谢阅读。。。。