c语言中怎么用函数实现a,b,c,三个数的大小比较,并按从大到小排列?

如题所述

#include<stdio.h>
main()
{
int a,b,c;
int A,B,C;
printf("输入三个数,以空格分开。\n");
scanf("%d %d %d",&a,&b,&c);
getchar();
A=(a>b&&a>c)?a:((b>a&&b>c)?b:c);
B=((b>c&&b<a)||(b<c&&b>a))?b:(((a>b&&a<c)||(a<b&&a>c))?a:c);
C=(a<b&&a<c)?a:((b<a&&b<c)?b:c);
printf("%d %d %d",A,B,C);
getchar();
}追问

函数

追答

这样就可以直接用了,。
#include
compai(int *a,int *b,int *c)
{
int A,B,C;
A=(*a>*b&&*a>*c)?*a:((*b>*a&&*b>*c)?*b:*c);
B=((*b>*c&&*b*a))?*b:(((*a>*b&&*a*c))?*a:*c);
C=(*a<*b&&*a<*c)?*a:((*b<*a&&*b<*c)?*b:*c);
*a=A;
*b=B;
*c=C;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-21
#include<stdio.h>
main()
{
int
a,b,c;
int
A,B,C;
printf("输入三个数,以空格分开。\n");
scanf("%d
%d
%d",&a,&b,&c);
getchar();
A=(a>b&&a>c)?a:((b>a&&b>c)?b:c);
B=((b>c&&b<a)||(b<c&&b>a))?b:(((a>b&&a<c)||(a<b&&a>c))?a:c);
C=(a<b&&a<c)?a:((b<a&&b<c)?b:c);
printf("%d
%d
%d",A,B,C);
getchar();
}
第2个回答  2012-05-08
.....................................
int a,b,c,t //t为中间变量
.......................................
if(a<b)
t=a,a=b,b=t;
if(a<c)
t=a,a=c,c=t;
if(b<c)
t=b,b=c,c=t;
printf("%d,%d,%d"a,b,c);
.................
我只写出了处理的代码,剩下的数据的输入还有其他的,你想实现什么样的自己就可以编了。
相似回答