if と switch と乱数とを組み合わせると、ちょっとしたゲームっぽいモノを作れます。今回は全4問。最初の1問こそ、switch 系の復習ですが、それ以外は今までの応用問題となります。例によって、解答以外の何を見ても構いませんが、必ず自力でトライして見てください。
あと、上記で NULL は "\0" と記述していますが、今回から 0 に置き換えて使用してください。
※ とりあえずおなかがすいたよねw
なお、文字の色付け方法については下記を参照してください。
あと、上記で NULL は "\0" と記述していますが、今回から 0 に置き換えて使用してください。
- 問9.
テレビのチャンネル番号を入力させる。チャンネル番号が 1 なら「東海テレビ」、3 なら「NHK総合」、5 なら「CBCテレビ」、9 なら「NHK教育」、11 なら「メ~テレ」、25 なら「テレビ愛知」、35 なら「中京テレビ」、どれにも当てはまらなければ「そんなテレビ局はありません」と表示させよ。例えば、下記のような表示となれば OK。
- 問10.
足し算の問題を自動的に表示させ、ユーザーにその解答を入力させる。入力された結果が正しければ「正解!!」、間違えた場合は「外れ! 正解は nn でした」と表示させよ。なお、足し算問題は乱数によって自動的に作成せよ。
※ とりあえずおなかがすいたよねw
- 問11.
1~5 までのランダムな(乱数で作った)数を用意する。ユーザーに数値を入力させる。その後、正解を表示させ、同じ値であれば黄色で「当たり!!」、入力した数が小さければ「もっと大きい」、入力した数が大きければ「もっと小さい」と表示する。
- 問12.
命中ゲームを作る。まず、コンピュータにランダムな数値を作らせる。作らせる数は、0.000 ~ 9.999 までである。ユーザーに値を入力させる。次に正解を表示して、それがまったく同じであれば、緑色で「ビンゴ!!」、±1.0 の範囲であれば、水色で「命中!」、それ以外は赤色で「外れ....」と表示させる。
※ Hint!
rand() は整数しか扱えませんので、実数を作るには、割り算を使う必要があります。1 を 1000.0f で割ると 0.001 となるのを利用してください。乱数の値があまり変化しないときは、(rand() * rand()) とすると、乱数の値が大きく変動します。あと、float誤差は今回は考慮なしでOKとします。
>> C言語 実力確認テスト03 解答例を見る
>> C言語 実力確認テスト03 解答例を見る
コメント