1905 - 三个数的排序
将输入的三个整数按非递减序输出。
Input
每行为一个测试用例,每行输入为三个空格隔开的整数。
Output
对每行的三个整数,按非递减序输出一行,两个整数之间用一个空格隔开。
Examples
Input
3 2 1 2 1 3 1 3 2 1 2 3
Output
1 2 3 1 2 3 1 2 3 1 2 3
Solution C
#include<stdio.h> int sort(int a[]) { int b; for(int i=1;i<3;i++) for(int j=0;j<3-i;j++) if(a[j]>a[j+1]) { b=a[j+1]; a[j+1]=a[j]; a[j]=b; } } int put(int a[]) { for(int i=0;i<3;i++) scanf("%d",&a[i]); } int main() { int a[3]; while(put(a)!=EOF) { sort(a); for(int i=0;i<2;i++) printf("%d ",a[i]); printf("%d\n",a[2]); } return 0; }
Solution C++
#include<stdio.h> #include<iostream> using namespace std; int main() { const int size = 3; int arr[size]; while (cin>>arr[0] >> arr[1] >> arr[2]) { int temp;//中间变量 //选择排序 for(int i = 0;i < size;i++){ for(int j = i + 1;j < size;j++ ){ if(arr[i] > arr[j]){ temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } //输出 for(int i = 0;i < size - 1;i++){ cout<< arr[i] << " "; } cout<< arr[size - 1]; cout << endl; } return 0; }