寝癖頭の解法

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

Aizu Online Judge in C, Python, Java #ITP1_2_C 3つの数の整列

3つの整数値を小さい順に並べて出力するプログラムです。

・問題
 3つの整数を読み込み、それらを値が小さい順に並べて出力するプログラムを作成して下さい。

・入力される値
 3つの整数が空白で区切られて与えられます。

・期待する出力
 小さい順に並べ替えた3つの整数を1行に出力して下さい。整数の間に1つの空白を入れて下さい。

・条件
 1 ≤ 3つの整数 ≤ 10,000

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

/*
 ITP1_2_C : Sorting Three Numbers
 http://judge.u-aizu.ac.jp/onlinejudge/
 C言語による3つの数の整列
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int a,b,c,x;
    while(1){
        scanf("%d %d %d",&a,&b,&c);
        if(a>b){
            x=a; a=b; b=x;
        }else if(b>c){
            x=b; b=c; c=x;
        }else if(a>b){
            x=a; a=b; b=x;
        }else{
            break;
        }
    }
    printf("%d %d %d\n",a,b,c);
    return 0;
}

Pythonのバージョンは、3.x に対応します。

# ITP1_2_C : Sorting Three Numbers
# http://judge.u-aizu.ac.jp/onlinejudge/
# Pythonによる3つの数の整列
# https://neguse-atama.hatenablog.com
num = list(map(int, input().split()))
num.sort()
print(num[0], num[1], num[2])
/*
ITP1_2_C : Sorting Three Numbers
http://judge.u-aizu.ac.jp/onlinejudge/
Javaによる3つの数の整列
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		
		if(a<b) {
			
			if(b<c) {
				System.out.println(a+" "+b+" "+c);
			}else {
				if(a<c) {
				System.out.println(a+" "+c+" "+b);
				}else {
					System.out.println(c+" "+a+" "+b);
				}
			}
		}else {
			if(a<c){
				System.out.println(b+" "+a+" "+c);
			}else {
				if(b<c){
					System.out.println(b+" "+c+" "+a);
				}else {
					System.out.println(c+" "+b+" "+a);
				}
		}
	}
}
}

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