在我的计算机科学课上,我得到了这个问题,我无法弄清楚如何回答这个问题。 问题:
•创建一个名为tossCoins的过程,其中包含一个整数参数 - numTosses
•在你的tossCoins程序中,从挑战#5调用你的tossCoin函数 numTosses次。因此,例如,如果我们输入tossCoins(50),则将调用tossCoin函数50次。
•你的tossCoins程序应打印出硬币落在头上的次数和硬币落在尾巴上的次数
•扩展您的主程序,以便用户可以选择投掷硬币的次数
我已经创建了tossCoin函数,但无法弄清楚如何运行它的用户要求的次数,或者如何创建头部和尾部的计数。 这是我到目前为止的代码:
static void Main(string[] args)
{
Random rnd = new Random();
Console.WriteLine(tossCoin(rnd));
Console.Write("Please enter a number: ");
int numTosses = Convert.ToInt16(Console.ReadLine());
Console.ReadLine();
}
static string tossCoin(Random rnd)
{
int num = rnd.Next(1, 3);
string heads = "Heads";
string tails = "Tails";
if(num == 1)
{
return heads;
}
else
{
return tails;
}
}
static void tossCoins(int numTosses)
{
int headsTally = 0;
int tailsTally = 0;
for(int i = 0; i < numTosses; i++)
{
string outcome = tossCoin(rnd);
numTosses--;
if(outcome == heads)
{
headsTally++;
}
else
{
tailsTally++;
}
}
}
}
如果有人可以提供帮助,那就太棒了,因为我正在努力学习使用函数和程序的不同规则。谢谢,礼顿。
答案 0 :(得分:-1)
有几件事情,首先看起来你差不多了。您只需在main方法中调用tossCoins()
函数即可。其次,你不需要在for循环中递减numTosses
,即。删除第numTosses--;
行
outcome == heads
语句不会编译,因为heads
未定义。要么用"Heads"
替换头,要么在函数的前面定义它。你可能想要返回/打印结果。