这题考察的是读者对于for循环的基础能力,考点为True与False的理解,难度为:1颗星
1 #include<stdio.h>
2 void fun(int n)
3 {
4 // 质数:只有两个正因数(1和自己)的自然数即为质数。
5 // 比1大但不是素数的数称为合数。1和0既非素数也非合数。2是最小的质数
6 if (n <= 0 || n == 1)
7 {
8 printf("error");
9 return 0;
10 }
11
12 int flag = 1; // 1表示是质数,0表示不是质数
13
14 // 我们默认用户输入的数为质数
15 // 例如用户输入 n = 17,则 n % i == 0 表达式不会成立,是质数
16 // 例如用户输入 n = 18,则 n % i == 0 表达式成立,不是质数
17 for (int i = 2; i < n; i++)
18 {
19 if (n % i == 0)
20 {
21 flag = 0;
22 break;
23 }
24 }
25
26 // 如果为1,则是质数,否则不是
27 if (flag == 1)
28 printf("Is a prime number!");
29 else
30 printf("Is not a prime number!");
31 }
32
33 int main()
34 {
35 int k; // 使用变量 k 去获取用户输入的数
36
37 // 输入提示
38 printf("please input 1 intger:");
39 scanf_s("%d",&k);
40
41 // 调用函数
42 fun(k);
43 }
先来看看正确的打开方式

再来看看错误的打开方式
