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

#include <stdio.h> int main() { int x,y,z,s,sum; scanf("%d",&sum); x=sum/100; y=(sum%100)/10; z=(sum%10); int max=x; if(y>max){ max=y; } if(z>max){ max=z; } printf("%d\n",max); return 0; }
这段代码的作用是:读入一个三位整数,然后找出它的百位、十位、个位数字中的最大值并输出。

代码逻辑基本正确,但有一个潜在问题需要注意:

- 变量 `s` 被声明但从未使用,可以删除它。

- 当输入的数字不是三位数时(比如输入 12 或 1234),程序仍然会按三位数的方式拆分,得到错误的结果。你需要考虑如何确保输入是三位数,或者让程序能处理任意位数的数字。