このディレクトリの索引 http://toro.2ch.net/test/read.cgi/tech/1339338438/855 # [1] 授業単元:C言語 # [2] 問題文: # 入力された文字列で2つ目のハイフン以降の文字列だけを表示せよ。 # <実行例> # 文字列を入力せよ:one-two-three-four # three-four # # 入力された文字列で2つ目のハイフン以降の文字列だけを表示せよ :- 入力された文字列で(_文字列), '2つ目のハイフン以降の文字列だけを'(_文字列,_2つ目のハイフン以降の文字列), 表示せよ(_2つ目のハイフン以降の文字列). 入力された文字列で(_文字列) :- get_line(_文字列). '2つ目のハイフン以降の文字列だけ'(_文字列,_2つ目のハイフン以降の文字列) :- '2つ目のハイフン'(_文字列,_残り文字ならび), atom_chars(_2つ目のハイフン以降の文字列,_残り文字ならび),!. '2つ目のハイフン'(_文字列,_残りならび) :- atom_chars(_文字列,_文字ならび), append(L1,['-'|_残り文字ならび],_文字ならび), member('-',L1),!. 以降の文字列だけ(_残り文字ならび,_2つ目のハイフン以降の文字列) :- atom_chars(_2つ目のハイフン以降の文字列,_残り文字ならび). 表示せよ(_2つ目のハイフン以降の文字列) :- writef('%t\n',[_2つ目のハイフン以降の文字列]).