おまいら!今日からC言語を学んでいくぞー!パート2
■ このスレッドは過去ログ倉庫に格納されています
0208174
2005/10/12(水) 02:27:46初心者に限らずプログラムはできる限りシンプルな方がよい。
そもそも数字で始まるのは単語でなくていいのか?というのはおいといて
元の問題は、
[状態S0]:単語が始まっていない
英字登場→単語数のカウントアップ、S1へ
それ以外(※)→S0のまま
[状態S1]:単語の途中
空白登場→S0へ
それ以外(※)→S1のまま
という2つの状態を行き来すると考える。
※英字、数字、空白以外の文字がでてきた場合はどうするのか?
具体的には「ふらぐ」ってーのでS0とS1を区別する
flag=0; /* 単語は始まっていない */
while(1文字取り出し){
if(英字?){
if(flag==0){
++単語数;
flag=1; /* 単語が始まった */
}
}
if(空白?){
if(flag==1){
flag=0; /* 単語が終わった */
}
}
}
ってな感じ。
「ふらぐ」をやたらめったらと使うべきではないが、(この程度なら)分かり易いプログラムが書ける。
■ このスレッドは過去ログ倉庫に格納されています