解题思路和注意事项:


用了三目运算符把三个数的排序搞出来了,见下文:


最小数:(a<b?a:b)<c?(a<b?a:b):c

最大数:(a>b?a:b)>c?(a>b?a:b):c

中间数:a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c))


参考代码:

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	printf("%d %d %d\n",(a<b?a:b)<c?(a<b?a:b):c,
		a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c)),
		(a>b?a:b)>c?(a>b?a:b):c);
	return 0;
}


点赞(13)
 

0.0分

88 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 62 条评论

徐某鸣 4年前 回复TA
#include<stdio.h>
int s(int x,int y)
{
    if(x>y)return x;
    else return y;
}
int s1(int x,int y)
{
    if(x>y)return y;
    else return x;
}
int s2(int x,int y,int z)
{
    if(x>y&&y>z)return y;
    else if(x>z&&z>y)return z;
    else return x;
}
int main()
{
    int a,b,c,d,e;
    scanf("%d %d %d", &a, &b,&c);
    d=s(s(a,b),s(b,c));
    e=s1(s1(a,b),s1(b,c));
    printf("%d %d %d",e,s2(a,b,c),f);
    return 0;
}
jjking 4年前 回复TA
@TTSV @JayYu 为什么最后是cba呀
一块键盘 4年前 回复TA
大佬三目看不懂啊
xiaoyang 4年前 回复TA
@夏願 对不起,我看错了
xiaoyang 4年前 回复TA
@夏願 大兄弟,我感觉你写的有点问题
xiaoyang 4年前 回复TA
#include <stdio.h>
void paixu(int a, int b, int c);
int main()
{
	int a, b, c;
	scanf("%d %d %d",&a, &b, &c);
	paixu(a, b, c);

	return 0;

}

void paixu(int a, int b, int c)
{
	int t, k, m;
	 if(a > b)
	 	t = a;
	 else
	 	t= b;
	 if(c > t)
	 	k = c;
	 else
	 	k = t;
	 
	 if(k = c)
	 {
		if(a > b)
		{
		 	t = a;
			m = b;
		}
	 	else
	 	{
		 	t= b;
			m = a;
	 	}
	 }
	 if(k == b)
	 {
		if(a > c)
		{	t = a;
			m = c;
		}
			
		else
		{
			t = c;
			m = a;
		}
			
	 }

	 if(k == a)
	 {
		if(b > c)
		{
			t = b;
			m = c;
		}
		else
		{
			t = c;
			m = b;

		}
			
	 }
	 printf("%d %d %d\n", k ,
夏願 4年前 回复TA
#include <stdio.h>

int main()
{
	int a,b,c;
	int t;
	scanf("%d %d %d",&a,&b,&c);
	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);
	
	return 0;
	
}
JayYu 4年前 回复TA
@TTSV @feidoubai 逗号的话算一条语句,分号就把一条变成三条,需要加花括号
小黑鱼王 4年前 回复TA
@wangzy 楼上说的对
费逗白 4年前 回复TA
@TTSV s = a, a = b, b = s;为什么这里中间使用的是逗号啊?用分号的话结果就不正确了