Онлайн компилятор C

#include <stdio.h> int main() { int n, a, i = -1, q9 = 0; scanf("%d", &n); while (n != 0) { a = n % 10; if (a == 9) q9++; n = n / 10; } if (q9 == 1) printf("YES"); else printf("NO"); return 0; }
这段代码的功能是:读入一个整数,判断它是否恰好包含一个数字9。如果是,输出YES,否则输出NO。

代码逻辑是:通过循环逐位取出数字,统计数字9出现的次数,最后判断次数是否等于1。

- 变量i被赋值为-1,但在后续代码中从未使用,这是一个多余的变量,可以删除。
- 题目要求可能不是判断“恰好一个9”,而是判断“数字中是否包含9”或者“数字9是否出现一次以上”?请仔细阅读题目原意,确认判断条件是否正确。