このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1364700745/855
#  [1]C言語初級課題 
#  [2]次のコードは、キーボードから0から9までの4つの数を 
#  受け取って小さい順から書き出すプログラムの未完成版である。 
#  コードを完成させなさい。fgetsでキーボードから文字列を受け取り、 
#  それをatoi関数で整数に変換し、0から9までの範囲にあるか確認し、 
#  範囲にない場合は再入力を促し再入力させること。 
#   
#  #include <stdio.h> 
#  #inckude <stdlib.h> 
#  int main(void){ 
#  char s[1024];//fgets関数に与える文字列バッファ 
#  char *t;//fgets戻り値格納用 
#  int n;//atoi関数の戻り値格納用 
#  { 
#  //この部分にコードを追加してコードを完成させてください。 
#  return(0); 
#  } 
#  [3] Windows 7/Microsoft SDK/C言語 
#  [4]5/31まで 
#  [5]簡単な課題だそうですが、手こずってます。どうかよろしくお願いします。 
# 
# 

'キーボードから0から9までの4つの数を受け取って小さい順から書き出す。キーボードから文字列を受け取り、それをatoi関数で整数に変換し、0から9までの範囲にあるか確認し、範囲にない場合は再入力を促し再入力させること' :-
        キーボードから0から9までの4つの数を受け取って(_4つの数ならび),
        小さい順から書き出す(_4つの数ならび),!.

キーボードから0から9までの4つの数を受け取って([]) :- !.
キーボードから0から9までの4つの数を受け取って([_整数|R]) :-
        キーボードから文字列を受け取り(_文字列),
        整数に変換し(_文字列,_整数),
        キーボードから0から9までの4つの数を受け取って(R).
キーボードから0から9までの4つの数を受け取って(L) :-
        キーボードから0から9までの4つの数を受け取って(L).

キーボードから文字列を受け取り(_文字列) :-
        write('0から9の範囲の整数を入力して下さい : '),
        get_line(_文字列).

整数に変換し(_文字列,_整数) :-
        atom_to_term(_文字列,_整数,_),
        integer(_整数),
        0から9までの範囲にあるか確認し(_整数),!.

0から9までの範囲にあるか確認し(_整数) :-
        _整数 >= 0,
        _整数 =< 9,!.
0から9までの範囲にあるか確認し(_整数) :-
        write('受け取った%tは0から9の範囲にありません。再入力をお願いします。\n'),
        fail.

小さい順から書き出す([]) :-
        write('\n').
小さい順から書き出す(L) :-
        最小値(L,A,L1),
        writef('%t ',[_最小値]),
        小さい順から書き出す(L1).

最小値(L,A,L1) :-
        append(L0,[A|R],L),
        \+((member(B,L0),B @< A)),
        \+((member(C,R),C @< A)),
        append(L0,R,L1),!.