- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:できるだけ簡単なプログラムを作っていただけませんか?)
できるだけ簡単なプログラムを作る方法
このQ&Aのポイント
- 名前3600名分を読み込み,名前とその文字数,文字数が偶数の人についての人数と平均文字数,文字数が奇数の人についての人数と平均文字数をresult.txtに書き込むプログラムを作りなさい。
- 文字数は2ケタ,名前は指定なし,人数は4ケタ,平均文字数は小数点以下3ケタとすること。
- for文を多用すれば解決できます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どこから読み込むのか不明ですが…forループは1つで充分でしょう。 名前の長さが偶数の場合と奇数の場合での「総文字数」「総数」をカウントする変数を用意。 名前が1行に1つ書かれた入力ファイルがあるならば… 入力ファイルと出力ファイルをオープンして、fgets()で入力ファイルから読み込み。 改行文字を削除した上で文字数をstrlen()で取得。 「総文字数」「総数」の変数に反映した後でfprintf()で出力ファイルに出力。 3600行分処理したら、「総文字数」「総数」から平均を算出するだけです。
その他の回答 (2)
- n2201makita
- ベストアンサー率30% (8/26)
回答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文字以上のときは、どうします?
お礼
ありがとうございました。 やり方が理解できました。