C语言:三个整数中的最大值

#include<stdio.h>
main()
{
int x,y,z,m; //定义整形变量x,y,z,m
int max(int a, int b,int c); //声明函数max
printf ("请输入三个整数:\n"); //输出提示信息
scanf("%d,%d,%d",&x,&y,&z); //输入x,y,z的值
m=max(x,y,z); //调用max函数
printf("最大的整数是%d.\n",m); //输出结果
}
int max(int a,int b,int c)
{
if (a>b)
if(a>c) return a;
else return c;
else if(b>c) return b;
else return c;
}
程序输出的一直是第一个数a,
我怎么也找不到错误在哪啊,帮忙找找

这阳改一下:

#include<stdio.h>
main()
{
int x,y,z,m; //定义整形变量x,y,z,m
int max(int a, int b,int c); //声明函数max
printf ("请输入三个整数:\n"); //输出提示信息
scanf("%d%d%d",&x,&y,&z); //输入x,y,z的值
m=max(x,y,z); //调用max函数
printf("最大的整数是%d.\n",m); //输出结果
}
int max(int a,int b,int c)
{
if (a>b){
if(a>c) return a;
else if(c>b) return c;
}
else if(b>c) return b;
else if (c>a) return c;
}
~
~ 我这里通过了,没有问题哦
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-07
你输入数的时候用逗号隔开了还是用空格隔开的?你的scanf函数里面规定的是用逗号隔开三个整数。如果你用空格隔的,默认你只输入了第一个数,后两个默认是0,所以每次比较得出的最大值肯定是第一个数a啦。希望我的解释对你有用哦~愿采纳~本回答被提问者采纳
第2个回答  2012-06-07
没有你说的问题(我运行过了),不过你可能在输入数据的时候,是以空格或enter做的输入间隔。因为程序中scanf()函数是以逗号做的间隔,所以运行时也必须是逗号做间隔(例如:1,3,2)。如果把scanf()函数中的逗号去掉,就可以用空格和enter做间隔输入了(例:1 3 2)
第3个回答  2012-06-07
你确定测试的时候是按照数字、逗号、数字、逗号、数字的格式输入的吗?你在scanf里用了"%d,%d,%d",就必须得输入中间的逗号。另外把那堆if改成带大括号的试试。也就是
if (a>b){
if(a>c) return a;
else return c;
}else if(b>c) return b;
else return c;
第4个回答  2012-06-07
if (a>b)
if(a>c) return a;
else return c;
else if(b>c) return b;
else return c;
这段代码因为if(a>b)里面执行的是2条语句,要打大括号的
if (a>b){
if(a>c) return a;
else return c;
}else{ if(b>c) return b;
else return c;}

c语言怎么求出三个数中哪一个最大?
1、首先输入a,b,c三个数。2、比较a,b两个数,得出a与b中的最大值。3、然后比较b与c两个数,得出b与c的最大值。4、最后将第2步与第3步得出的最大值进行比较,得出我们需要的最大数。

c语言三个数求最大值_输入三个数求最大值c语言
输入三个数454 12 861进行代码测试,结果如下,运行正确。下面贴出三个数求最大值c语言代码如下: #includestdio.h main() { int a,b,c; int big; printf("请输入3个数\\n"); scanf("%d %d %d

c语言求3个数的最大值是多少?
c语言求三个数的最大值的回答如下:在C语言中,我们可以使用条件语句(if...else)来比较三个数并找出最大值。以下是一个简单的示例程序:#include <stdio.h> int main() { int a, b, c, max; printf("请输入三个整数:"); scanf("%d %d %d", &a, &b, &c);if (a >...

c语言三个数求最大值
c语言三个数求最大值介绍如下:具体代码如下:if(a>b) t=a;else t=b;\/\/此时t是a、b中较大的那个。if(t<c) t=c;∥再与c此较,找出大的即可。C语言的字符串其实就是以'\\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作...

c语言输入三个整数,求最大值?
include<stdio.h> int main(){ int a,b,c,max;printf("请输入三个数:\\n");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;if(c>max)max = c;printf("三个数中最大的数为:%d",max);return 0;}

c语言输入3个整数,输出最大的数是多少。
C语言中,当需要找出三个整数中最大的数时,可以使用以下代码实现其功能。首先,我们定义一个包含三个整数变量a、b和c,以及一个变量max用于存储最大值:c include int main() { int a, b, c, max;printf("请输入三个数:\\n");scanf("%d %d %d", &a, &b, &c);接着,通过if语句...

怎样用C语言编写这样一个程序:输入三个整数,求其中的最大值?
include<stdio.h> include<stdlib.h> int x,y,z;int max;int main(void){ printf("请输入三个整数:\\n");scanf("%d%d%d",&x,&y,&z);if(x>y)max=x;else max=y;if(max>z);else max=z;printf("最大值为%d",max);system("pause");} ...

如何在C语言编程中求取三个数中的最大值
1、首先输入三个数,求三个数中的最大值 include<stdio.h> int main(){ int max(int x,int y,int z); int a,b,c,m; scanf("%d,%d,%d",&a,&b,&c); m=max(a,b,c); printf("the max number is %d\\n",m); return 0;} 2、然后输入 int max(int x,...

C语言:三个整数中的最大值
int max(int a, int b,int c); \/\/声明函数max printf ("请输入三个整数:\\n"); \/\/输出提示信息 scanf("%d%d%d",&x,&y,&z); \/\/输入x,y,z的值 m=max(x,y,z); \/\/调用max函数 printf("最大的整数是%d.\\n",m); \/\/输出结果 } int max(int a,int b,int ...

从键盘输入任意3个整数,编写程序输入其中最大值,c语言
include<stdio.h> int main(){int a,b,c,d;int max(int x,int y);printf("请输入三个任意整数:\\n");while(scanf("%d %d %d",&a,&b,&c)!=-1){d=max(a,max(b,c))printf("max=%d\\n",d);} return 0;} int max(int x,int y){ return x>y?x:y;} ...

相似回答