求100到200之间的全部素数
素数(质数)的定义
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
思路
首先先判断素数,再通过循环来讲100到200之间的素数输出
代码
#include<stdio.h>
// 求100到200之间的全部素数
int isPrime(int p);
int main()
{
int frist,second; // frist第一个数,second第二个数
int cnt = 1; // cnt计数器
scanf("%d %d",&frist,&second);
while(frist<second){
if(isPrime(frist) == 0){
printf("%d\t",frist); // \t制表符,使输出更加美观
// 判断素数的输出是否够5个
if(cnt % 5 == 0){
printf("\n");
}
cnt++;
}
frist++;
}
}
// 判断该数是否为素数
int isPrime(int p)
{
int i;
int t = 0; // 当t=0时,该数为素数,当t=1时,不是素数
for(i=2;i<p;i++){
if(p%i == 0){
t = -1;
break;
}
}
if(t == 0){
return 0;
}else{
return -1;
}
}
运行后的结果
注意
- frist应写在判断的外面,而不是写在判断的里面
- cnt应写在判断的里面,因为是要当5个素数输出时才换行
while(frist<second){
if(isPrime(frist) == 0){
printf("%d\t",frist); // \t制表符,使输出更加美观
// 判断素数的输出是否够5个
if(cnt % 5 == 0){
printf("\n");
}
cnt++;
}
frist++;
ps:该文章是记录我学习C语言时编写代码时的错误。仅供参考。