在线编译器 C

#include <stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); if (a>b&&a>c) printf("%d\n",a); if (b>a&&b>c) printf("%d\n",b); if (c>a&&c>b) printf("%d\n",c); return 0; }
这段代码从用户输入三个整数,然后分别判断并输出其中最大的数。代码逻辑基本正确,但有一个边界情况没有处理。

- 如果两个或三个数相等,比如输入 5 5 3,你的代码不会输出任何结果,因为所有条件都不成立。你需要考虑相等的情况,比如使用 >= 而不是 >。
- 另外,如果最大值出现多次,你的代码只会输出其中一个,但当前写法在相等时可能什么都不输出。你可以思考如何用更简洁的方式处理,比如先假设第一个数是最大值,再依次比较更新。