このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/501
#  [1] 授業単元:配列とポインタ(アルゴリズム) 
#  [2] 問題文(含コード&リンク):以下の実行例のように,文字列を入力すると,その前 
#  後に"を付けた文字列を生成するプログラムを,ライブ 
#  ラリ関数strcpy とstrcat を用いて作成せよ.ただし, 
#  プログラムは以下の要件を満たすこととする 
#   ・ユーザに入力させる文字列を格納する配列をstr1[],前後に"を付けた文字列のための配列をstr2[] とする. 
#  ・ユーザに入力させる文字列は30 字までとする。 
#  ・配列str2[] は初期化せずに宣言し,ライブラリ関数strcpy とstrcat を使って(添字演算子[] を使わずに)前後に"を付けた文字列を生成すること. 
#    実行例. 
#     文字列を入力してください:Tokyo 
#      文字列の前後に"を付けました。 
#        str2:"Tokyo" 
#   [3.1] OS: linux debian 
#   [3.2] コンパイラ名とバージョン: gcc4.3.2 
#   [3.3] 言語:C言語 
#  [4] 期限: 12月13日 14時 
#  [5] その他の制限: 
# 

'文字列を入力すると,その前後に"を付けた文字列を生成するプログラムを,ライブラリ関数strcpy とstrcat を用いて作成せよ.ただし,プログラムは以下の要件を満たすこととする。 ・ユーザに入力させる文字列を格納する配列をstr1[],前後に"を付けた文字列のための配列をstr2[] とする. ・ユーザに入力させる文字列は30 字までとする。 ・配列str2[] は初期化せずに宣言し,ライブラリ関数strcpy とstrcat を使って(添字演算子[を使わずに)前後に"を付けた文字列を生成すること.' :-
        文字列の入力(_文字列),
        concat_atom(['"',_文字列,'"'],_生成された文字列),
        writef('前後に"を付加された文字列は %t です\n',[_生成された文字列]).

文字列の入力(_文字列) :-
        write('文字列を入力して下さい : '),
        get_line(Line),
        文字列入力診断(Line,_文字列),!.

文字列入力診断(文字列,_文字列) :-
        atom_length(_文字列,_長さ),
        _長さ =< 30,!.
文字列入力診断(Line,_文字列) :-
        sub_atom(Line,0,30,_,_文字列).