このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/95
#  [1] 授業単元:C言語入門 
#  [2] 問題文(含コード&リンク):http://ime.nu/i.imgur.com/hnQll.jpg 
#  
#  演習 9-1  3整数引数を大きい順に並べて返す関数
#           main関数で、キーボードから3つの整数x,y,zを入力し、
#           この3つを引数として渡し、大きい順に中身を入れ替えて
#           返す関数を作成せよ。

'キーボードから3つの整数x,y,zを入力し、この3つを引数として渡し、大きい順に中身を入れ替えて返す' :-
        'キーボードから3つの整数x,y,zを入力し'(_x,_y,_z),
        '大きい順に中身を入れ替えて返す'(_x,_y,_z,_1,_2,_3),
        writef('%t,%t,%t\n',[_1,_2,_3]).

'キーボードから3つの整数x,y,zを入力し'(_x,_y,_z) :-
        write('3つの整数をカンマ区切りで入力して下さい : '),
        readln([_x,_y,_z]),
        全て整数(_x,_y,_z),!.
'キーボードから3つの整数x,y,zを入力し'(_x,_y,_z) :-
        'キーボードから3つの整数x,y,zを入力し'(_x,_y,_z).

全て整数(_x,_y,_z) :-
        integer(_x),
        integer(_y),
        integer(_z).

'大きい順に中身を入れ替えて返す'(_x,_y,_z,_x,_y,_z) :-
        _x >= _y,
        _y >= _z,!.
'大きい順に中身を入れ替えて返す'(_x,_y,_z,_x,_z,_y) :-
        _x >= _z,
        _y >= _z,!.
'大きい順に中身を入れ替えて返す'(_x,_y,_z,_y,_x,_z) :-
        _y >= _x,
        _x >= _z,!.
'大きい順に中身を入れ替えて返す'(_x,_y,_z,_y,_z,_x) :-
        _y >= _z,
        _z >= _x,!.
'大きい順に中身を入れ替えて返す'(_x,_y,_z,_z,_x,_y) :-
        _z >= _x,
        _x >= _y,!.
'大きい順に中身を入れ替えて返す'(_x,_y,_z,_z,_y,_x) :-
        _z >= _y,
        _y >= _x,!.