理思路:
- 先创建一个可以从2遍历到200的循环(for循环最适);
- 对于每个数num,创建一个标志变量is_prime,并初始化为1,表示num是素数;
- 运算:num%i,如果num能被i整除,说明num不是素数,则给is_prime赋值为0(用for嵌套if);
- 判断:如果is_prime是1,说明num是素数;
- 打印;
#include <stdio.h> int main() { for (int num = 2; num <= 200; num++) { // 遍历 2~200 之间的整数 int is_prime = 1; // 标记 num 是否为素数,默认为素数 for (int i = 2; i < num; i++) { // 遍历 2~num-1 之间的整数 if (num % i == 0) { // 如果 num 能被 i 整除,说明 num 不是素数 is_prime = 0; // 修改 is_prime 的值为 0 break; // 结束内层循环 } } if (is_prime == 1) { // 如果 is_prime 的值为 1,说明 num 是素数 printf("%d ", num); // 输出 num } } return 0; }