我正在尝试制作一个抛硬币模拟器程序,该程序将根据用户输入的数字多次抛硬币。它将显示投币数和正面或反面。然后它将显示翻转了多少头和尾巴,但是没有显示正确的次数,我不确定如何解决此问题
任何帮助将不胜感激
这是我到目前为止所得到的
Console.Write("\n\n");
Console.Write("------------------------------------------------");
Console.WriteLine("\nThis Program simulates tossing a coin mutliple times");
Console.Write("------------------------------------------------");
Console.Write("\n\n");
int Heads = 0, Tails = 0;
int compChoice = 0;
int attempts;
Random rnd = new Random();
Console.WriteLine("How many coin tosses?");
coinTossChoice = int.Parse(Console.ReadLine());
attempts = coinTossChoice;
compChoice = rnd.Next(0, 2);
do
{
if (attempts == coinTossChoice)
{
if (compChoice == 0)
{
Console.WriteLine("Toss Number# ");
Console.WriteLine("\nHeads");
Heads++;
}
else if (compChoice == 1)
{
Console.WriteLine("Toss Number# ");
Console.WriteLine("\nTails");
Tails++;
}
}
} while (attempts != coinTossChoice);
Console.WriteLine("\nNumber of Heads {0} Number of Tails {1} .", Heads, Tails);
答案 0 :(得分:1)
在这里,您的代码中有一些细节,我评论了所做的更改,以便您理解这个主意。
Console.Write("\n\n");
Console.Write("------------------------------------------------");
Console.WriteLine("\nThis Program simulates tossing a coin mutliple times");
Console.Write("------------------------------------------------");
Console.Write("\n\n");
int Heads = 0, Tails = 0;
int compChoice = 0;
int attempts;
Random rnd = new Random();
Console.WriteLine("How many coin tosses?");
int coinTossChoice = int.Parse(Console.ReadLine());
//attempts is the counter for each toss
attempts = 1;
do
{
//compChoice is the coin toss containing 0 or 1 at random
compChoice = rnd.Next(0, 2);
if (compChoice == 0)
{
Console.WriteLine("Toss Number# " + attempts);
Console.WriteLine("\nHeads");
Heads++;
}
else if (compChoice == 1)
{
Console.WriteLine("Toss Number# " + attempts);
Console.WriteLine("\nTails");
Tails++;
}
//increment attempt
attempts++;
//cycle as many times as the user requested
} while (attempts <= coinTossChoice);
Console.WriteLine("\nNumber of Heads {0} Number of Tails {1} .", Heads, Tails);
Console.ReadKey();