目录
一、练习;
找出100~200之间的素数,并打印在屏幕上(素数又称质数,只能被1和本身整除的数字)。
二、题目解析:
1、要从100~200之间找出素数,首先得有100~200之间的数,这里可以用循环解决。
2、假设要判断 i 是否为素数,需要拿 2 ~ i - 1 之间的数字去试除 i ,需要产生2 ~ i -1 之间的数字,也可以使用循环解决。
3、如果2 ~ i - 1 之间有数字能整除 i ,则 i 不是素数 ,如果都不能整除,则 i 是素数。
三、参考代码
#define _CRT_SECURE_NO_WARNINGS
//作者:爱吃糖的boy
#include<stdio.h>
int main()
{
for (int i = 100; i <= 200; i++)
{
int a = 1; // 判断是否是素数
for (int j = 2; j <= i -1; j++)
{
if (i % j == 0)
{
a = 0;
break;
}
}
if (a == 1) {
printf("%d ",i);
}
}
return 0;
}
运行结果:
四、易错提醒:
#define _CRT_SECURE_NO_WARNINGS
//作者:爱吃糖的boy
#include<stdio.h>
int main()
{
int a = 1; // 判断是否是素数
//a在循环外的话,a第一次变成0之后,在下一次循环中,a没有复位
for (int i = 100; i <= 200; i++)
{
//int a = 1; // 判断是否是素数
for (int j = 2; j <= i -1; j++)
{
if (i % j == 0)
{
a = 0;
break;
}
}
if (a == 1) {
printf("%d ",i);
}
}
return 0;
}
变量定义在循环外的话,a第一次变成0之后,在下一次循环中,a没有复位,一直保持值等于0。
运行结果:
没有数字打印!!
这里需要留意一下!!!