このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1339338438/59
#  [1] 授業単元: c言語  
#  [2] 問題文(含コード&リンク):  
#  main関数を以下のように宣言し、実行時に引数を取れるようにする。  
#  引数がすべて得点であるとして、その平均値を 
#  求めるプログラムを作成しなさい。  
#  すなわち、 
#  ./prog 50 70 90 と実行した場合は、70と表示される。  
#  必要に応じて、数字を数値に変換する関数atoi()や 
#  atof()を使用してもよい。 
#   
#   #include <stdio.h> 
#   #include <stdlib.h> 
#   int main( int argc, char *argv[] ) {  
#      /** argc: 引数の個数、argv[0]:プログラム名、argv[1]〜argv[n]:実数 **/ 
#      x = atof( argv[1] ); /* atofの使用例 */ 
#      return(0); 
#   } 
#   
#  ※ 配列のサイズなど、定数は必ず#defineを利用すること. 
#  ※ 表示や入力を目的とする関数以外では、 
#  関数の中で標準入力や標準出力への入出力は行わないこと.  
#   
#   
#   [3.1] OS:Linux 
#   [3.2] コンパイラ名とバージョン:gcc 
#   [3.3] 言語: c言語  
#  [4] 期限: 6月15日 
#  よろしくお願いします! 
# 
# 

program :-
        user_parameters(_ユーザパラメータならび),
        プログラム引数を整数ならびに変換(_ユーザパラメータならび,_整数ならび),
        avg(整数ならび,_相加平均),
        writef('%t\n',[_相加平均]).

user_parameters(UserParameterList) :-
        current_prolog_flag(argv,ParameterList),
        append(_,['--'|UserParameterList],ParameterList).

プログラム引数を整数ならびに変換([],[]).
プログラム引数を整数ならびに変換([A|R1],[N|R2]) :-
        atom_to_term(A,N,_),
        integer(N),
        プログラム引数を整数ならびに変換(R1,R2).
プログラム引数を整数ならびに変換([_|R1],R2) :-
        プログラム引数を整数ならびに変換(R1,R2).