c语言如何求三个数a,b,c的最大值

Python08

c语言如何求三个数a,b,c的最大值,第1张

c里没有and这种东西,写作&&

if(a>=b &&a>=c) z=a

if(b>=a &&b>=c) z=b

if(c>=a &&c>=b) z=c

return z

例如:

void main()

{

int a,b,c,p,max

printf("请输入a,b,c三个数字::")

scanf("%d %d %d",a,b,c)

if(a>b)

p=a

else

p=b

if(p<c)

max=c

printf("最大值为:max=%d",max)

扩展资料:

C的数据类型包括:整型(short,int,long,long long)、字符型(char)、实型或浮点型(单精度float和双精度double)、枚举类型(enum)、数组类型、结构体类型(struct)、共用体类型(union)、指针类型和空类型(void)。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

参考资料来源:百度百科-c语言

---------------------------------------

方法一:用三元符:

#include

int main()

{

int a,b,c

int max

printf("请输入3个数:")

scanf("%d%d%d",&a,&b,&c)

max = a >b ? (a >c ? a : c) : (b >c ? b : c)

printf("最大数为:%d",max)

return 0

}---------------------------------------

方法二:用函数

#include

int main()

{

int for_max(int ,int ,int )

int a,b,c

int max

printf("请输入3个数:")

scanf("%d%d%d",&a,&b,&c)

max = for_max(a,b,c)

printf("最大数为:%d",max)

return 0

}

int for_max(int x,int y,int z)

{

int m

if (x >y &&x >z)

{

m = x

}

else if (y >x &&y >z)

{

m = y

}

else

{

m = z

}

return m

}

不常规方法:用函数指针变量调用函数

#include<stdio.h>

int max(int x,int y)

{

return (x>y?x:y)

}

main()

{

int (*p)(int,int) //定义p是指向函数的指针变量

int a,b,c,d

p=max//使p指向函数max

printf("输入3个数\n")

scanf("%d %d %d",&a,&b,&c)

d=(*p)(a,b)//通过指针变量p调用max函数

printf("max=%d\n",(*p)(d,c))

}

方法一:交换两个数

#include "stdio.h"

int main()

{ int a,b,c,t

printf("输入3个数\n")

scanf("%d %d %d",&a,&b,&c)

if(a>b)

{t=aa=bb=t}

if(a>c)

{t=aa=cc=t}

if(b>c)

{t=bb=cc=t}

printf("max=%d\n",c)

printf("%d %d %d",a,b,c)

}

方法2条件表达式,书上例题,

#include "stdio.h"

int main()

{

int max()//函数声明

extern int A,B,C//外部变量声明

printf("输入3个数\n")

scanf("%d %d %d",&A,&B,&C)//输入外部变量的值

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

}

int A,B,C//定义外部变量

int max()

{

int m

m=A>B?A:B

if(C>m)

m=C

return m

}

以上可以改为

#include<stdio.h>

main()

{

int a,b,c

printf("输入3个数\n")

scanf("%d %d %d",&a,&b,&c)

if(c>(a>b?a:b))

printf("max=%d\n",c)

else

printf("max=%d\n",a>b?a:b)

}

3 定义max函数

#include<stdio.h>

int max(int x,int y)

{

if (x>y) //或者直接语句return (x>y?x:y);

return x

return y

}

main()

{

int a,b,c,d

printf("输入3个数\n")

scanf("%d %d %d",&a,&b,&c)

d=max(max(a,b),c)

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

}