練習 4(提出プログラム名:p0204a.c)
以下の例のように実行できるプログラムを作りなさい.提出ファイル名は p0204a.c としなさい.
このプログラムでは入力される 2 人の成績の差(絶対値)を a として,
(1) a == 0 ならば:「全く同じですね」と表示する.
(2) (1) ではないが a < 10 ならば:「ほぼ同じですね」と表示する.
(3) (1), (2) ではないが a < 20 ならば:「差がつきましたね」と表示する.
(4) 上のいずれもでもない場合:「勝負になりませんね」と表示する.
ただし,絶対値 a を求めるにあたって,C 言語に予め用意されている abs という関数を使ってはいけません.
【ヒント】
この問題のように複数の if – else が必要な場合は以下のように書くと良いです:
if ( 条件1 )
{
....... ← 条件1 が成り立つときの処理
}
else if ( 条件2 )
{
...... ← 条件1 は成り立たないが,条件2 は成り立つときの処理
}
else if ( 条件3 )
{
...... ← 条件1,2 は成り立たないが,条件3 は成り立つときの処理
}
else
{
...... ← 条件1,2,3 のいずれも成り立たないときの処理
}
- 【プログラムの実行例】(その1)※赤字は実行時にキーボードから入力する内容
2 人の成績を入力してください:70 70 全く同じですね⏎
- 【プログラムの実行例】(その2)※赤字は実行時にキーボードから入力する内容
2 人の成績を入力してください:75 70 ほぼ同じですね⏎
- 【プログラムの実行例】(その3)※赤字は実行時にキーボードから入力する内容
2 人の成績を入力してください:75 85 差がつきましたね⏎
- 【プログラムの実行例】(その4)※赤字は実行時にキーボードから入力する内容
2 人の成績を入力してください:60 80 勝負になりませんね⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 上に示した4通りの実行例を試していない.
■ ヒントを見落としていて,プログラムが必要以上にごちゃごちゃしている.
■ 条件として「a < 10」と書くべきところを「a <= 10」と書いてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 練習3 (p0203a.c) ]
ミスが無いことを確認したら次の問題へ → [ 練習5 (p0205a.c) ]