|
10鱼币
问题描述:我改写了求素数的例题,运行时无报错信息。输入12,不是素数,13,是素数。但81,15却还是显示为素数。(Linux下gcc编译器)
改写源码:
- #include <stdio.h>
- int main()
- {
- int i, num;
- _Bool flag = 0;
-
- printf("请输入一个整数:");
- scanf("%d", &num);
-
- for (i = 2; i < num / 2; i++)
- {
- if (num % i)
- {
- flag = 1;
- break;
- }
- else
- {
- flag = 0;
- break;
- }
- }
- if (flag)
- {
- printf("%d是一个素数\n", num);
- }
- else
- {
- printf("%d不是素数\n", num);
- }
-
- return 0;
- }
复制代码 运行结果:
改写后运行
例题源码:
- #include <stdio.h>
- int main()
- {
- int i, num;
- _Bool flag = 1;
-
- printf("请输入一个整数:");
- scanf("%d", &num);
-
- for (i = 2; i < num / 2; i++)
- if (num % i == 0)
- {
- flag = 0;
- }
- }
- if (flag)
- {
- printf("%d是一个素数!\n", num);
- }
- else
- {
- printf("%d不是一个素数!\n", num);
- }
-
- return 0;
- }
复制代码 例题运行结果:
例题运行结果
使用DevC++:
使用DevC++编译器
例如9 当9%2!=0是你的程序flag=1就会退出循环,结果导致显示是一个素数,不会继续进行%3之后的操作
|
最佳答案
查看完整内容
例如9 当9%2!=0是你的程序flag=1就会退出循环,结果导致显示是一个素数,不会继续进行%3之后的操作
|