c语言中三个数比较大小

2024年11月14日 14:18
有5个网友回答
网友(1):

#include

//#include

voidmain()

{

intmax3(inta,intb,intc);

inta,b,c,result;

printf("Pleaseenterthreenumber:\n");

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

result=max3(a,b,c);

printf("Themaxofthreenumberis%d:\n",result);

//system("pause");

}

intmax3(inta,intb,intc)

{

intx,z;

if(a>b)x=a;

elsex=b;

if(x>c)z=x;

elsez=c;

returnz;

}

扩展资料

C语言:三个数由小到大排序

#include

#include

intmain()

{

inta,b,c,t;//定义4个基本整型变量a,b,c,t;

printf("Pleaseinputa,b,c:");

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

//如果a大于b,借助中间变量t实现a、b值互换;

if(a>c)

{

t=a;

a=b;

b=t;

}

//如果a大于c,借助中间变量t实现a、c值互换;

if(a>c)

{

t=a;

a=c;

c=t;

}

//如果b大于c,借助中间变量t实现b、c值互换;

if(b>c)

{

t=b;

b=c;

c=t;

}

printf("theorderofthenumberis:\n");

printf("%d,%d,%d",a,b,c);//输出a,b,c的值顺序输出;

system("pause");

return0;

}

网友(2):

这个是以前练习三目运算符写的,不用考虑算法吧

# include 

int main()
{
float a,b,c,m,n,l,k,j,i;//定义单精度浮点型变量

printf("请输入三个数,中间用空格隔开:\n");
scanf("%f %f %f",&a,&b,&c);//输入三个数

m = a > b ? a : c;//先让a,b进行比较,较大者带入m
n = b > c ? b : c;//再让b,c比较,较大者带入n
l = m > n ? m : n;//让a,b中的较大者与b,c中的较大者比较,l即为a,b,c中的较大者
    k = a < b ? a : b;
j = b < c ? b : c;
i = k < j ? k : j;

if (a > i && a < l)//如果a大于最小的,小于最大的,因为只有三个数,所以a是中间值,输出l,a,i
{
printf("%f %f %f\n",l,a,i);
}
else if(b > i && b < l)//同上
{
printf("%f %f %f",l,b,i);
}
else//同上
{
printf("%f %f %f",l,c,i);
}

return 0;
}

网友(3):

楼主加头文件了吗
#include

或者就是楼主输入的数据不符合规范

比如说: 4,5,6 回车

中间用逗号隔开

网友(4):

下面是我在vc6中的代码
#include "stdafx.h"
#include "stdio.h"
void main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
int max;
max=a;
if(b>max)
max=b;
if(c>max)
max=c;
printf("max=%d\n",max);
}

输入 4,5,6 然后回车 输出为max=6
没错啊。 你是不是忘加
#include "stdio.h"了。

网友(5):

int max;要放到 int a,b,c;的后面。正确如下:
main()
{
int a,b,c;
int max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>max);
max=b;
if(c>max);
max=c;
printf("max=%d\n",max);
}