#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;
}
这个是以前练习三目运算符写的,不用考虑算法吧
# 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;
}
楼主加头文件了吗
#include
或者就是楼主输入的数据不符合规范
比如说: 4,5,6 回车
中间用逗号隔开
下面是我在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"了。
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);
}