输入a、b、c三个值,输出其中最大者c语言编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:58:27
无论是用
#include <stdio.h>

int main()
{
int a,b,c;
int max=0;
scanf("%d %d %d",&a,&b,&c);
if (a>=b)
max=a;
else
max=b;

if (max<c)
max=c;

printf("%d\n",max);

return 1;
}

------------------------------------------------
还是用
#include<stdio.h>
main()
{
int max (int x,int y,int m);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&d);
c=max(a,b,d);
printf("max=%d\n",c);
}
int max(int x,int y,int m)
{
int z;
if(x>y&&y>m)z=x;
if(x>m&&m>y)z=x;
if(y>x&&x>m)z=y;
if(y>m&&m>x)z=y;
if(m>x&&x>y)z=m;
if(m>y&&y>x)z=m;
return(z);
}
当输入22222作为其中一个数时结果都是错误的,是什么原因啊?(本人初学啥都不懂)

22222太大了,你换个小些的数可能就行了,

真麻烦,这么写就可以了

#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
printf("max=%d\n", a>b?(a>c?a:c):(b>c?b:c));
return 0;
}

我把你的两个都跑了下。我用的是VS2008
第一段程序是对的,没有错。
第二段程序错了,b,d没有读取到值。我发现是scanf("%d,%d,%d",&a,&b,&d);
这句话错了,应该改为scanf("%d%d%d",&a,&b,&d);中间不要加逗号。

你再试下吧,呵呵。

2楼说的没有根据,int有4个字节,才22222不算大的。