有3个实数x,y,z,由键盘输入,要求输出其中最大的数。请问我哪儿错了呀

来源:4-8 循环结构之for循环(一)

慕斯卡2116755

2021-04-11 23:10

#include<stdio.h>

int main()

{

float x,y,z;

scanf("%f,%f,%f",&x,&y,&z);

if(x>y)

{

if(x>z)

{

printf("%f",x);

}

else

{

printf("%f",z);

}

}

else if(y>z)

{

printf("%f",y);

}

else

{

printf("%f",z);

}

return 0;

}


写回答 关注

3回答

  • 慕哥3516691
    2021-11-20 15:26:21

    scanf内%f后不能放逗号,系统编译器会把逗号也一起翻译,导致最后的你地址符号(&)的输出也要打逗号才能判断,不然系统读取就会出错,例如编译运行以后,             输入三个数:4,65,54                           系统才会打印65

  • qq_慕虎9294303
    2021-04-13 20:04:46

    scanf("%f,%f,%f",&x,&y,&z);里%f,%f,%f存在逗号输入数字的时候要1,2,3才行

    代码是正确的

    qq_慕虎9...

    删除逗号的话空格隔开就好了

    2021-04-13 20:05:37

    共 1 条回复 >

  • 卿屿轻尘
    2021-04-12 08:55:17

    #include<stdio.h>

    int main()

    {

    float x,y,z;

    scanf("%f,%f,%f",&x,&y,&z);

    if(x>y)

    {

    if(x>z)

    {

    printf("%f",x);

    return  x;

    }

    else if(x<z)

    {

    printf("%f",z);

    return  z;

    }

    }

    else if(y>z)

    {

    printf("%f",y);

    return  y;

    }

    else if(y<z)

    {

    printf("%f",z);

    return  z;

    }

    return 0;

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题