【設題】
whileの無限ループを作り、その中で、1から100までの乱数を発生させ、表示しなさい。その際、値が10の倍数であれば、ループを抜け、”終了します”と表示して、プログラムを終了しなさい。
この課題に対し下記のコードを書きました。
動作はしております。
using System; namespace ConsoleApp2 { class Program { static void Main(string[] args) { Random random = new Random(); Console.WriteLine("10の倍数が出たら終了"); int i = 1; while (i%10!=0) //除算した余りが0でなければループさせる。 { i = random.Next(1, 101); Console.WriteLine(i); } Console.WriteLine("終了します"); } } }
このサイトの「無限ループの章」では乱数を使い6が出たら終了させるという説明用のコードは下記の通りでした。
上記の設題に対しては下記のサンプルコードのように書くの正解で上記の私が書いたコードは不正解になるのでしょうか?
while(true)としてif文とbreakを使うのは各構文の使用サンプルを示したものなのか、このように書かないと不都合が出るのか?
わからなく質問させて頂きました。
ご教授の程よろしくお願い致します。
namespace Sample406 { class Program { static void Main(string[] args) { // 乱数の初期設定 Random rnd = new Random(); Console.WriteLine("6が出たら終了"); // 無限ループ while(true){ int dice = rnd.Next(1, 7); // 1以上7未満の乱数を発生させる(1から6まで) Console.WriteLine(dice); if(dice == 6){ break; // ループから抜ける } } Console.WriteLine("終了"); } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/25 02:26