• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:うまく出力できません)

英文を入力し、文字数とthの出現回数を確認するプログラム

このQ&Aのポイント
  • 下記のプログラムは、英語の文章をEOFが現れるまで繰り返し標準入力から読み込み、文字数と「th」または「Th」の出現回数を出力するプログラムです。
  • 入力された文章中の「th」または「Th」は、「++」で書き換えられます。
  • また、リダイレクションを用いてファイルから読み込むこともできます。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

リダイレクトでしているため入力部分の表示がされていないのだと思います これを強制的にするなら    chomp(buf); の後ろに    printf( "%s\n", buf ); をしてやれば良いようです ただしこのロジックですと We have seen other things matter. We have seen o++er ++ings matter. But, that is the thing that matters. But, ++at is ++e ++ing ++at matters. といった順の出力になると思います We have seen other things matter. But, that is the thing that matters. ^D We have seen o++er ++ings matter. But, ++at is ++e ++ing ++at matters. った感じにしたければ fgetsがNULLを返すまでバッファに蓄えてから変換処理を実行するようにしないといけないでしょう char lbuf[32][256] = {0}; int n = 0; while( fgets( buf,256, stdin ) ) {   chomp(buf);   strcpy( lbuf[n], buf );   n++; } などといった具合で 行ごとのデータを記憶しておくといった処理が必要でしょう

nadonado
質問者

お礼

返事遅れてすいません。無事動作できました。親切にありがとうございました。

関連するQ&A