编写一个C程序,输入a,b,c3个值,输出其中最大值

2024-11-18 18:23:13
推荐回答(5个)
回答(1):

你2个地方出错了,
1.scanf("%d,%d,%d",&a,&b,&c);
应该改成scanf("%d%d%d",&a,&b,&c);要不然你输入的时候必须输入逗号,比如你输入1
2
3必须输入:1,2,3才正确
2.if(x>y)
{
if(x>z)
k=x;
else
k=z;
}
第一个分号;应该是英文的;而不是中文下的;
正确的如下:
#include
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=%d\n",d);
}
int
max(int
x,int
y,int
z)
{
int
k;
if(x>y)
{
if(x>z)
k=x;
else
k=z;
}
else
{
if(y>z)
k=y;
else
k=z;
}
return
(k);
}

回答(2):

#include
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=%d\n",d);
}
int
max(int
x,int
y,int
z)
{
int
k;
if(x>y)
{
if(x>z)
k=x;
else
k=z;//这里的;中文输入的不可以,要英文;
}
else
{
if(y>z)
k=y;
else
k=z;
}
return
(k);
}
已经修改了,可以运行了,小错误,另外你输入的格式要注意哦,
scanf("%d,%d,%d",&a,&b,&c);格式:12,34,23
要有逗号的哦.

回答(3):

main()
{
int a,b,c,max;
printf("依次输入abc的值,用空格隔开\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if (b>max) max=b;
if (c>max) max=c;
printf("最大数是%d\n",max);
}

回答(4):

代码没问题
但是我直接拷下来运行的时候
发现有编码问题;重新敲了一遍。运行通过!估计你是从网上直接考下来的吧
#include
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=%d\n",d);
system("pause");
}
int
max(int
x,int
y,int
z)
{
int
k;
if(x>y){
if(x>z)
k=x;
else
k=z;
}
else{
if(y>z)
k=y;
else
k=z;
}
//k=x>y?x:y;
//k=k>z?k:z;
return
k;
}
不过输入的时候要用逗号隔开
推荐用我注释的部分来解决。三目运算很方便

回答(5):

int main()
{
int a,b,c;
printf("依次输入abc的值,用空格隔开\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
if(a>c)
{
printf("%d\n",a);
}
else
{
printf("%d\n",c);
}
}
else
{
if(b>c)
{
printf("%d\n",b);
}
else
{
printf("%d\n",c);
}
}
return 0;
}