4週目 課題

問題 1
点数を読み込んで、その値に応じた評価を表示するプログラムを
作成せよ。60点未満は「不可」、60から69までは「可」、70から79
までは「良」、80点以上は「優」とする。
点数を10で割った商で場合分けするようにして、switch 文を使って
プログラムせよ。100点の場合はちょっと面倒である。10で割った商
が10の時は、100点かそうでないかを調べる必要がある。
% ./a.out
点数を入力してください? 83
評価は優です。
% ./a.out
点数を入力してください? 999
評価出来ません。
%
switch(tennsuu/10) {
case 10:
if(tennsuu == 100) ...; //優
else ...;
// 不正な点数
break;
case 9:
......
1
問題 2
次のような受け答えをするプログラムを switch 文を使って作れ
% ./a.out
% いらっしゃい!ネタは何にする?
a) マグロ、b) ヒラメ、c) ウニ、だよ! a
マグロ一丁ね!
% ./a.out
% いらっしゃい!ネタは何にする?
a) マグロ、b) ヒラメ、c) ウニ、だよ! b
ヒラメはカレイと違うんだよ!
% ./a.out
% いらっしゃい!ネタは何にする?
a) マグロ、b) ヒラメ、c) ウニ、だよ! 7
そんなネタないよ!
%
この部分はプログラムの出力
2
問題 3
小文字のアルファベット 1 文字を入力して大文字に変換するプログラム
文字コード表を参考にせよ
% ./a.out
小文字のアルファベット1文字を入力? a
a の大文字は A です
% ./a.out
小文字のアルファベット1文字を入力? B
B は小文字のアルファベットではありません
% ./a.out
小文字のアルファベット1文字を入力? 9
9 は小文字のアルファベットではありません
%
ヒント
アルファベットの大文字と小文字は
文字コードで 20(16 進数)= 32
(10 進数)の違いがある
小文字のアルファベットの文字コードの
範囲は、61 ~ 7A(16 進数)。それ以外の
コードは小文字のアルファベットではない
3
問題 4
0から9およびaからfあるいはAからFの文字を読み込んで
それを0から15の数に変換して出力するプログラムを
作成せよ。
% ./a.out
1文字を入力? a
10 です
% ./a.out
1文字を入力? 8
8です。
% ./a.out
1文字を入力? x
x は16進数ではありません
%
0〜9までならそれぞれ0〜9に
a〜fなら10〜15に
A〜Fなら10〜15に変換する。
4
問題 5
月( 1 から 12)を入力して、日数を出力するプログラムを作成せよ。
条件分岐には、switch文を使うこと。
不適当な入力はその旨表示して処理すること。
% ./a.out
% 月を入力せよ: 5
5 月は 31 日あります。
%
%./a.out
% 月を入力せよ: 2
2 月は 28日までですが、閏年には29日まであります。
%./a.out
% 月を入力せよ: 777
ふざけているのか?
%