Online Compiler C

#include <stdio.h> int main() { int a, b; int flag = 1; scanf("%d ", &a); for (b = 2; b * b <= a; b++) { if (a % b == 0) { flag = 0; break; } } if (flag == 1) printf("YES"); else printf("NO"); return 0; }
这段代码的功能是判断一个整数是否为素数(质数)。如果是素数,输出"YES",否则输出"NO"。

- 代码中 `scanf("%d ", &a);` 的格式字符串里有一个多余的空格,这会导致输入时需要额外输入一个非空白字符才能结束,建议去掉那个空格。
- 当输入的数字 `a` 小于等于1时,程序会错误地输出"YES",因为循环不会执行,`flag` 保持为1。你需要考虑处理这些特殊情况。