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