1110 - C语言2.7
输入3个整数a、b、c,按从小到大的顺序输出。
Input
输入包含一行,包含三个用空格隔开的整数。
Output
请按从小到大的顺序输出读入的三个数。请注意行尾输出换行。
Examples
Input
30 15 20
Output
15 20 30
Solution C
#include<stdio.h> int main(){ int i,j,temp; int a[3]; scanf("%d %d %d",&a[0],&a[1],&a[2]); for (i=0;i<2;i++) for (j=i+1;j<3;j++) if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for (i=0;i<2;i++) printf("%d ",a[i]); printf("%d",a[i]); printf("\n"); return 0; }
Solution C++
#include <stdio.h> int main() { int a, b, c, t; scanf("%d %d %d", &a, &b, &c); /* 首先比较a和b的关系,通过交换位置使a <= b */ if (a > b) { t = a; a = b; b = t; } /* 比较a和c的关系,通过交换位置使a <= c,从而a是最小值 */ if (a > c) { t = a; a = c; c = t; } /* 比较b和c的关系,通过交换位置使b <= c,最终使a <= b <= c*/ if (b > c) { t = b; b = c; c = t; } printf("%d %d %d\n", a, b, c); return 0; }