• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:できるだけ簡単なプログラムを作っていただけませんか?)

できるだけ簡単なプログラムを作る方法

このQ&Aのポイント
  • 名前3600名分を読み込み,名前とその文字数,文字数が偶数の人についての人数と平均文字数,文字数が奇数の人についての人数と平均文字数をresult.txtに書き込むプログラムを作りなさい。
  • 文字数は2ケタ,名前は指定なし,人数は4ケタ,平均文字数は小数点以下3ケタとすること。
  • for文を多用すれば解決できます。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

どこから読み込むのか不明ですが…forループは1つで充分でしょう。 名前の長さが偶数の場合と奇数の場合での「総文字数」「総数」をカウントする変数を用意。 名前が1行に1つ書かれた入力ファイルがあるならば… 入力ファイルと出力ファイルをオープンして、fgets()で入力ファイルから読み込み。 改行文字を削除した上で文字数をstrlen()で取得。 「総文字数」「総数」の変数に反映した後でfprintf()で出力ファイルに出力。 3600行分処理したら、「総文字数」「総数」から平均を算出するだけです。

yu-yudesu
質問者

お礼

ありがとうございました。 やり方が理解できました。

その他の回答 (2)

回答No.3

以下のURLにダウンロードしました、バグが有るのですが修正してみてください。 http://ideone.com/9KiRc C (gcc-4.3.4) /* fscanf - 戻り値が 0 の場合は、フィールドの代入が行われていません。 エラーが発生するか、最初の変換の前にファイル ストリームの終端を検出すると、EOF を返します。 fgets - エラーが発生するか、ファイルの終端に達すると NULL を返します。 while(fgets(namae, sizeof(namae), ifp) != 0) */ while(fscanf(ifp, "%s%*c", namae) != EOF)

参考URL:
http://ideone.com/9KiRc
  • TT414
  • ベストアンサー率18% (72/384)
回答No.2

>文字数は2ケタ,名前は指定なし とありますが、名前が100文字以上のときは、どうします?