0

入力の数を数え、それに応じて分類する通常の C プログラムをいじっています。私はまだそれをどのように行うかを考えているので、今のところコードを書いていないので、説明するために最善を尽くします.

このプログラムでどこに行きたいかの例として、人々からの投票数を数えたいとしましょう。私が興味があるのは人口統計だけで、実際の投票には興味がありません。そのため、ユーザーは個々の投票で各人の性別と年齢を入力し、最後に合計数に追加して、男性と女性を集計します。集計に役立つように、各年齢層に割り当てられたキャラクターがあります。たとえば、0 ~ 20 歳 = A、21 ~ 40 歳 = B、41 歳以上 = C です。次に、カウントを終了する X0 のような入力があります。

したがって、ユーザー入力として性別と年齢を使用すると、次のようになります (箇条書きは無視してください)。

  • 性別と年齢を入力してください: 男性 17
  • 性別と年齢を入力してください: 女性 20
  • 性別と年齢を入力してください: 男性 30
  • 性別と年齢を入力してください: 女性 46
  • 性別と年齢を入力してください: 男性 35
  • 性別と年齢を入力してください: X0
  • 男性:ABB
  • 女性: AC
  • 合計: 5

私はまだ言語を学んでいるので、これを達成するためにwhile、for、およびdo whileループを使用することを考えていますが、これを実行するのに苦労しています。

何かアドバイスがあれば、よろしくお願いします。

ありがとうございました

4

2 に答える 2

1

switchステートメントとifを使用して、投票数を保持するためのカウンターを使用できます。私はそのような問題に取り組みます。紙とペンで少しやってみて、少しコードを書いてください。紙とペンで始めたらきっと手に入ると思います。また、ソートには、それを利用できるループを使用できます。

于 2013-03-11T05:03:34.310 に答える
0

あなたはたぶんすぐに飛び込んで、あなたが知っている方法でそれを書くべきです。コーディングの経験は早い段階で非常に役立ちます。あなたが説明したように機能するものを手に入れることができれば、うなり声を上げるだけで多くのことを学ぶことができます。

説明したように1行で出力と入力を取得するには、fflush(stdout);の前後を呼び出す必要がある場合があります。printfscanf

ちなみに、プログラムへのユーザー入力を終了するための一般的な戦略は、EOFコード(Unix / Linuxではctrl-D、Windowsではctrl-Z)を使用することです。scanfより多くのキーボードストロークではなくEOFが発生した場合、負の値を返します。

とはいえ、より広範な戦略として、これらの種類のプログラムを非対話型として考え始めることをお勧めします。プログラムが毎回アンケートに回答する必要がなく、ファイルから直接データを読み取る場合を想像してみてください。そして、完全な単語の代わりに、それは一文字のコードを持ち、より似ているでしょう

M 17
F 20

そして、プログラムはちょうどカウントを行いました。書きやすく、使いやすいのではないでしょうか。

于 2013-03-11T05:06:02.343 に答える