このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1269438098/184
#  [1]C言語(初心者コース) 
#  [2] キーボードから5つの整数を読み込み、その任意の2つの異なる数の 
#  組み合わせについて和と差と積と商と剰余を出力するプログラム 
#  [3] OS:Windows Vista コンパイラ:Visual Studio.NET 言語:C 
#  [4] 5/1迄 
#  [5] fgets,scanf,printf sprintf strlen strcpy strcat関数は使っても良い。 
#  それ以外は極力使用しないこと 
#  scanfで取得した整数が入力された整数を表す文字列と矛盾が無いことを 
#  チェックすること。 
#  整数計算の際に桁溢れが発生していないかチェックすること。 
#  (特に除数が0であるかのチェック。剰余は除数の絶対値より小さい 
#  0以上の整数とする。) 
#  main関数以外にユーザー関数を定義しないこと(main関数だけで 
#  構成)が制約条件だそうです。 
#   
#  よろしくお願いします 
# 

'キーボードから5つの整数を読み込み、その任意の2つの異なる数の組み合わせについて和と差と積と商と剰余を出力する' :-
        'キーボードから5つの整数を読み込み、'(L),
        その任意の2つの異なる数の組み合わせについて和と差と積と商と剰余を出力する(L).

その任意の2つの異なる数の組み合わせについて和と差と積と商と剰余を出力する(L) :-
        組み合わせ([1,2,3,4,5],2,[M,N]),
        list_nth(M,L,A),
        list_nth(N,L,B),
        B > 0,
        _和 is A + B,
        _差 is A - B,
        error_protect(_積 is A * B,fail),
        _商 is A // B,
        _剰余 is A mod B,
        write_formatted('%t,%t 和は%t,差は%t,積は%t,商は%t,剰余は%t\n',[A,B,_和,_差,_積,_商,_剰余]),
        fail.
その任意の2つの異なる数の組み合わせについて和と差と積と商と剰余を出力する(_).

'キーボードから5つの整数を読み込み、'(L) :-
        'キーボードから5つの整数を読み込み、'(1,L).

'キーボードから5つの整数を読み込み、'(5,[]) :- !.
'キーボードから5つの整数を読み込み、'(M,[N|R]) :-
        write('整数を入力してください : '),
        get_integer(N),
        入力診断(N),
        M2 is M + 1,
        'キーボードから5つの整数を読み込み、'(M2,R).

入力診断(N) :- integer(N).