C言語プログラミング入門
総合演習1-A


問題
コンピュータがランダムに0か1を用意し、それを人間があてるゲームを作る。
 1. まずランダム関数によってコンピュータが0か1を用意する。
 2. 人間が0か1を予測して、入力する。
 3. 入力があたっていれば「あたり」、そうでなければ「はずれ」を表示する。
 4. あたり回数とはずれ回数をカウントする。
以上を10回繰り返す。最後に、何勝何敗かを表示する。5勝5敗なら「引き分け」、6勝以上なら「あなたの勝ち」、4勝以下なら「あなたの負け」と表示する。


実行画面の例>

0か1をあててください。

あなたの予想は?:1
コンピュータは :1
 <あたり>

あなたの予想は?:0
コンピュータは :1
 <はずれ>


  …途中省略…


あなたの予想は?:0
コンピュータは :0
 <あたり>

●結果発表●
7勝3敗で、
あなたの勝ちです

【1】「0か1をあててください」を最初に出力

【2】-(1)人間の予想(x)は、キーボードから入力できるようにする(入力促進メッセージをつけること)

(2)コンピュータの手(y)は、y=rand()%2を利用して出力
 rand()は乱数を扱う関数で、0~(2^31-1)のいずれかの数字が自動的に入る。そのため、その乱数を2で割った余り「rand()%2」が必ず、0か1のいずれかになるため、コンピュータの手として利用できる

注意: rand()関数を使う場合は、プログラムの先頭部分にある「#include <stdio.h>」の次の行に、「#include <stdlib.h>」という1行を必ず追加すること。

(3)その後、人間の予想とコンピュータの手から、あたり・はずれを判断し、いずれかを出力する。

(4)また、(3)の出力処理と同時に勝ち・負けのカウントをする。(たとえば、勝ちの場合には勝ちの合計を1増やすようにする。そのため、勝ち・負けのカウンタは事前に0にしておく。)

【3】 【2】の(1)〜(4)の対戦を10回する

【4】10回の対戦の後、 「勝ち・負けの合計数」を「○勝○敗」の形で出力する

【5】最終的に、対戦結果(「あなたの勝ちです」「あなたの負けです」「引き分けです」のいずれか)を出力する