寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

C言語による2つの数の交換

C言語による2つの数の交換です。
整数 x, y を読み込み、値が小さい順に出力するプログラムです。

・問題
 2つの整数 x, y を読み込み、それらを値が小さい順に出力するプログラムを作成して下さい。
 ただし、この問題は以下に示すようにいくつかのデータセットが与えられることに注意して下さい。

・入力される値
 入力は複数のデータセットから構成されています。
 各データセットは空白で区切られた2つの整数 x, y を含む1行から構成されています。
 x と y がともに 0 のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。

・期待する出力
 各データセットごとに、x と y を小さい順に並べたものを1行に出力して下さい。
 x と y の間には1つの空白を入れて下さい。

・条件
   0 ≤ x, y ≤ 10,000
   データセットの数は 3,000 を超えない。

僕が作成、提出したコードは、以下のとおりです。

/*
 ITP1_3_C : Swapping Two Numbers
 http://judge.u-aizu.ac.jp/
 C言語による2つの数の交換
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int x,y,rep;
    while(1){
        scanf("%d %d",&x,&y);
        if(x==0 && y==0){
            break;
        }
        if(x>y){
            printf("%d %d\n",y,x);
        }else if(x<=y){
            printf("%d %d\n",x,y);
        }
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
ITP1_3_C : Swapping Two Numbers