Online Compiler C

#include <stdio.h> int main() {int n,count,n1; scanf("%d",&n); count=0;n1=n; while(n!=0) {count++; n=n/10; } if (count==3){ printf("YES"); } else printf("NO"); ; return 0; }
这段代码的功能是:读入一个整数,判断它是否是三位数(即100到999之间),如果是则输出YES,否则输出NO。它通过不断除以10来统计数字的位数,然后检查位数是否等于3。

- 代码逻辑是正确的,但有一个小问题:变量n1被赋值但从未使用,可以删除或忽略。
- 注意:如果输入的数字是负数,比如-123,程序会输出NO,因为负号不算数字位,但实际-123也是三位数。你可以思考一下如何处理负数的情况。