使用C语言编写程序求三个数中的最大值。

数据类型可能是整型、字符型、实型。

#define max3(x, y, z) ({ \
typeof(x) _max1 = (x); \
typeof(y) _max2 = (y); \
typeof(z) _max3 = (z); \
(void) (&_max1 == &_max2); \
(void) (&_max1 == &_max3); \
_max1 > _max2 ? (_max1 > _max3 ? _max1 : _max3) : \
(_max2 > _max3 ? _max2 : _max3); })

以上为最大值的宏定义
其中 (void) (&_max1 == &_max2),两种不同类型的指针变量,在==逻辑比较时,编译器会提示警告错误,用来解决宏参数x和y数据类型不一样的问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-29
#include<stdio.h>
void main(){
int a,b,c;
int max;
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<b) max =b;
if(max<c) max= c;
printf("The max is:%d",max);
}

实现的方法有很多,随便在窗口上给你写了一个,你自己试试吧!类型如果变了就把变量的定义类型改一下就行了。如果想使用泛型,就比较复杂了。原理很简单,需要写成一个传递泛型的函数,可能会涉及到模板等,比较复杂。
第2个回答  2012-09-21
用Visual C++编写
#include <stdio.h>
int 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);
return 0;
}
int max(int x,int y,int z)
{int p;
if(x>y)p=x;
else p=y;
if(y>z)p=y;
else p=z;
if(x>z)p=x;
else p=z;
return(p);
}
望采纳!
第3个回答  2011-08-29
#include <stdio.h>
#define max(x,y) ((x)>(y)?(x):(y))

void main()
{
int a1=1,b1=2,c1=3,d1;
double a2=1.1,b2=1.2,c2=1.3,d2;
char a3='a',b3='b',c3='c',d3;
d1=max(a1,max(b1,c1));
d2=max(a2,max(b2,c2));
d3=max(a3,max(b3,c3));
printf("%d\n",d1);
printf("%lf\n",d2);
printf("%c\n",d3);
}
第4个回答  2011-08-29
擦~我还想给你答呢~追问

那答啊~

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

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

用c语言编写程序计算3个数中最大值
Max=a>b?(a>c?a:c):(b>c?b:c);printf("3个数中最大值为:%d\\n",Max);return 0;}

c语言如何计算三个数的最大值。
max=a;if(c>max)max = c;printf("三个数中最大的数为:%d",max);return 0;}

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语言中,找到三个数中最大值,怎么实现?
1 输入三个数。2 把最大最小两个变量赋值为第一个数。3 用最大最小值与剩余两个数比较,如果更大或更小,则取代称为最大\/最小值。4 输出。代码如下:include <stdio.h>int main(){ int a,b,c,max,min; scanf("%d%d%d",&a,&b,&c);\/\/输入三个数。 max=min=a; if...

c语言三个数求最大值_输入三个数求最大值c语言
方法一:c语言三个数求最大值_输入三个数求最大值c语言代码 首先在vc6.0里面编辑代码,保存为.c文件,然后点击build按钮(或者按下键盘F7快捷键),如下图。可以看到没有任何错误error和警告。然后按下运行按钮(或者直接按快捷键Ctrl+F5),运行程序。输入三个数454 12 861进行代码测试,结果如下...

如何编写一个程序,计算3个数的最大值?
1、首先在Visual Studio 2019中新建一个C语言文件,如下图所示。2、接着导入如下图所示的库文件,所需要的数学计算函数都在里面。3、然后运用scanf函数来接收用户输入的三个数字,如下图所示。4、接着利用逐个比较的方式计算三个数中的最大值,如下图所示。5、运行编写的C语言文件,会弹出如下图...

怎样用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语言编程中求取三个数中的最大值
编写一个C程序,运行时输入a,b,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 numb...

相似回答