#include <stdio.h>
int miao(int x)
{
int i;
for (i=2;i<=x;i++)
{
if (x%i==0)
{
break;
}
if (x==i)
{
return 1;
}
}
}
int main(){
int a;
for(a=100;a<=200;a++)
{
if(miao(a)==1)
{
printf("%d\n",a);
}
}
return 0;
}
结果:
代码有些问题,需要改一下:
#include <stdio.h>
#include<stdlib.h>
int miao(int x) {
int i = 2;
for (i = 2; i < x;i++) {//用i去掉除1和它本身能被整除的数
if (x % i == 0){
return 0;
}
}
return 1;
}
int main() {
int a=0;
for (a= 100; a <= 200;a++) {//找出100~200之间的整数
if (miao(a) == 1) {
printf("素数:%d\n",a);
}
}
getchar();//暂停打印窗口,可查看所有素数
return 0;
}
#include <stdio.h>
void main() {
int n;
for (int i = 100; i <= 200;i++) {//找出100~200之间的整数
for (n = 2; n <= i;n++) {//用i去掉除1和它本身能被整除的数
if (i % n == 0) break;
}
if (i == n) {
printf("素数:%d\n", i);
}
}
}
for 循环里面 i<=x
那必然当i==x时, x % i == 0
把i<=x
改为i*i<=x