このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/595
#  C言語なら俺に聞け(入門編)Part 101 とのマルチです、すみません 
#  [1] 授業単元:プログラミング技法 
#  [2] 問題文:http://ime.nu/codepad.org/9OX5faW6 
#  /*文字型配列aを宣言(要素数を省略)し、初期値に次の文字列を設定する。
#  また文字型配列b(要素数10)を宣言し、キーボードから任意の文字列を入力する。
#  そして配列aの中に含まれている文字列bの位置を表示する。ただし複数含まれて
#  いることにも対応する。最後に含まれている件数を表示する。strstr関数で作成する。
#  strstr関数は見つかった場合、アドレスを返すことに注意!*/
#  #include
#  #include
#  int main(void)
#  {
#       a[]="abcde_fghi.abcde-fghi",b[10];
#  	int i,bl,ct=0;
#  	printf("b=> ");
#  	scanf("%s",b);
#  	bl=strlen(b);
#  	i=0;
#  	while(a[i]!='\0'){
#  		if(strstr(a,b)!='\0'){
#  			printf("位置 %d\n",strstr(a,b)-a);
#  			ct++;
#  			i=i+bl;
#  		}
#  		else
#  			i++;
#  	}
#  	printf("件数は%d\n",ct);
#  	return 0;
#  }

'文字型配列aを宣言(要素数を省略)し、初期値に次の文字列を設定する。また文字型配列b(要素数10)を宣言し、キーボードから任意の文字列を入力する。そして配列aの中に含まれている文字列bの位置を表示する。ただし複数含まれていることにも対応する。最後に含まれている件数を表示する。' :-
        '文字型配列aを宣言(要素数を省略)し、初期値に次の文字列を設定する。'(_a),
        'また文字型配列b(要素数10)を宣言し、キーボードから任意の文字列を入力する。'(_b),
        'そして配列aの中に含まれている文字列bの位置を表示する。ただし複数含まれていることにも対応する。'(_a,_b,L),
        '最後に含まれている件数を表示する。'(L).

'文字型配列aを宣言(要素数を省略)し、初期値に次の文字列を設定する。'("abcde_fghi.abcde-fghi").

'また文字型配列b(要素数10)を宣言し、キーボードから任意の文字列を入力する。'(_b) :-
        length(_b,10),
        findall(C,(
                   append(_,[_|_],_b),
                   get_code(C),
                   (   C = 10,!,fail;
                       true)),
                _b).

'そして配列aの中に含まれている文字列bの位置を表示する。ただし複数含まれていることにも対応する。'(_a,_b,L) :-
        findall(C,(
                    append(L0,[C|_],_b),
                    member(C,_a),
                    length([_|L0],_何文字目),
                    writef('%t文字目\n',[_何文字目])),
                L).

'最後に含まれている件数を表示する。'(L) :-
        length(L,_含まれている件数),
        writef('含まれている件数は %t 件でした。\n',[_含まれている件数]).