新手问题,三个数中求最大值 C语言

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:06:04
#include<stdio.h>
void main()
{
int max(int x,int y,int z);

int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max is %d",d);
}

int max(int x,int y,int z)
{
int u;
if (x>=y) u=x;
else u=y;

if(z>u) u=z;
return(u);
}

显示出的总是第一个输入的数字。。。请教错误在哪里,谢谢,,

你的scanf函数是这样写的
scanf("%d,%d,%d",&a,&b,&c);
首先要确认你输入数据时是这样的格式,整数逗号整数逗号整数

int max(int x,int y,int z)
{
int u;
if (x>=y) u=x;
else u=y;
if (x>=z) u=x;
else u=z;
if (y>=z) u=y;
else u=z;
return(u);
}
好像这样才对吧!

您好
scanf("%d,%d,%d",&a,&b,&c);这句 %d中间的逗号要改成空格

否则 必须输入的数之间要以逗号隔开才可以

想必楼主没有注意到

scanf("%d,%d,%d",&a,&b,&c);
这个语句格式不对的,需要将%d后的逗号换成空格:
scanf("%d%d%d",&a,&b,&c);

这样就ok了

程序没有问题,你在输入时格式不对吧,
你再试一下:
输入:
5,8,1(回车)
或者
5,1,8(回车)

结果是对的吧