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