Online Compiler C

#include <stdio.h> int main() { int n; int count = 0; scanf("%d", &n); while (n > 0) { int d = n % 10; n = n / 10; if (d == 9) { count = count = 1; } } if (count > 1) printf("NO"); else printf("YES"); }
这段代码试图判断一个整数中是否包含数字9,但逻辑有误。它读取一个整数,然后逐位检查每一位数字,如果某位是9,就将count设置为1(但写法有错误)。最后如果count大于1就输出"NO",否则输出"YES"。

- 第10行 `count = count = 1;` 是一个赋值错误,应该使用 `count = count + 1;` 或 `count++;` 来递增计数。当前写法会导致count始终为1,无法正确统计9出现的次数。
- 你的判断条件是 `if (count > 1)`,但根据你的逻辑,只要出现一个9就输出"YES",出现多个9才输出"NO"。然而由于计数错误,程序无法正确区分出现0次、1次或多次9的情况。