独学でC#学習しています。
#質問内容
if文についてある問題集があり回答例と自分の回答が少し違うのですが、
自分の回答について修正点あれば教えてください。
回答例を見て、自分の回答の方が正しいと思ってしまいました。
bool式はif文にまとめ、最初の&&で第一オペランドしか評価しないので、
問題中の"ありえない値"も評価対象に入ってしまうため&で良いと考えました。
ちなみに実行結果は同じで、おめでとうございます。合格です。
でした。
よろしくお願いします。
#問題内容
テストがあります。足きり点が65点です。満点が100点です。下限点が0点です。
足きり点以上、満点以下の場合、合格です。
コンソール画面に『おめでとうございます。合格です。』と表示します。
下限点以上、足きり点未満なら、不合格です。
コンソール画面に『残念です。不合格です。』と表示します。
それ以外の場合、ありえない値なので、『試験の得点が正しく入力されていません。』と表示します。
今回の受験者の実際の得点は75点でした。
#回答内容
自分の回答
c#
1using System; 2 3namespace Seigyo 4{ 5 class Control 6 { 7 static void Main(string[] args) 8 { 9 int realScore= 75; 10 int maxScore = 100; 11 int minScore = 0; 12 int passingScore = 65; 13 14 15 if (maxScore >= realScore & passingScore <= realScore) 16 Console.WriteLine("おめでとうございます。合格です。"); 17 18 else if (minScore >= realScore & passingScore >= realScore) 19 Console.WriteLine("残念です。不合格です。"); 20 21 else 22 Console.WriteLine("試験の得点が正しく入力されていません。"); 23 } 24 } 25} 26
回答例
c#
1 2using System; 3 4namespace ConditionalFlowExercise 5{ 6 class MainClass 7 { 8 static void Main(string[] args) 9 { 10 var realScore = 75; 11 bool examineeHasPassed = (realScore >= 65 && realScore <= 100); 12 bool examineeHasFailed = (realScore >= 0 && realScore < 65); 13 14 if (examineeHasPassed) 15 { 16 Console.WriteLine("おめでとうございます。合格です。"); 17 } 18 else if (examineeHasFailed) 19 { 20 Console.WriteLine("残念です。不合格です。"); 21 } 22 else 23 { 24 Console.WriteLine("試験の得点が正しく入力されていません。"); 25 } 26 } 27 } 28} 29
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/12 10:15