int a, b, c;
int max;
scanf("%d,%d,%d\n", &a, &b, &c);
max =( a > b && b > c) ? a :( a > c && c > b) ? a :( b > a && a > c )? b :( b > c && c > a) ? b :( c > a && a> b) ? c :( c > b && b > a) ? c : 1;
printf("max=%d\n", max);
入门发问 输入三个数 输出最大值 这样写有啥问题吗 为什么输入三个数之后无法正确判断最大的数
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ShowMeAI 2022-12-11 19:59关注
代码示例和错误分析如下,望采纳。
在c语言中,如果要输入三个数并输出最大值,您可以使用以下代码来实现:int a, b, c; int max; scanf("%d,%d,%d\n", &a, &b, &c); if (a > b && a > c) { max = a; } else if (b > a && b > c) { max = b; } else { max = c; } printf("max=%d\n", max);
您的代码的问题:
- 使用的是逗号分隔符,而不是空格分隔符。请更改为scanf("%d %d %d\n", &a, &b, &c);
- 条件判断中使用了不正确的逻辑。您的代码中,输入1,2,3时,输出为max=2,这是不正确的。
- 使用了三目运算符,这可能会使代码难以阅读和理解。在c语言中,通常使用if-else语句来实现条件判断。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 c51单片机控制步进电机
- ¥20 Visual studio无法检测到设备
- ¥15 为什么我通过html绘制的SVG折线图插入到word中坐标轴不显示出来
- ¥30 vue 页面窗口放大或者缩小元素会变化
- ¥15 questasim仿真报错
- ¥15 寻找电脑攻防的导师,有问题请教一下。
- ¥20 微信同是win11,我的电脑安装不了pageoffice,一直无法打开
- ¥15 这个界面我通过postman请求不到,但是通过浏览器可以正常访问
- ¥15 多目标优化算法在与其他算法数据对比结果判断
- ¥15 CPTN和EAST,主干网络是VGG16,请问在ICDAR2015数据集上训练之后,CPTN和EAST模型的大小为多少