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

#include <stdio.h> int main() { unsigned int a, b; scanf("%u", &a); b = a / 100; if (b >= 1 && b <= 9) { printf("YES"); } else printf("NO"); return 0; }
这段代码读取一个无符号整数,然后判断它除以100后的整数部分是否在1到9之间(即是否为三位数)。如果是,输出YES,否则输出NO。

- 你的代码判断的是数字除以100后的商是否在1到9之间,这实际上是在检查数字是否在100到999之间。但题目可能要求判断数字本身是否为三位数,你的方法虽然结果正确,但逻辑不够直接。
- 注意:如果输入的数字小于100,比如99,a/100的结果是0,不在1到9之间,输出NO,这符合三位数的判断。但如果输入的数字大于等于1000,比如1000,a/100的结果是10,也不在1到9之间,输出NO,也正确。所以你的代码功能上没问题,但可以思考更直观的判断三位数的方法。