为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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

1 回复 有任何疑惑可以回复我~

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

代码是正确的

0 回复 有任何疑惑可以回复我~
#1

qq_慕虎9294303

删除逗号的话空格隔开就好了
2021-04-13 回复 有任何疑惑可以回复我~

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

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信