原题链接:[编程入门]三个数字的排序
解题思路和注意事项:
用了三目运算符把三个数的排序搞出来了,见下文:
最小数:(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;
}0.0分
88 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#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; }#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 ,#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; }