weixin_65186970 2022-12-11 19:47 采纳率: 100%
浏览 5
已结题

入门发问 输入三个数 输出最大值 这样写有啥问题吗 为什么输入三个数之后无法正确判断最大的数

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);

  • 写回答

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语句来实现条件判断。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 已采纳回答 3月6日
  • 创建了问题 12月11日

悬赏问题

  • ¥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模型的大小为多少