[英]How would I get the Min and Max scores of the bowlers without using the built in function in c#
我被困在如何获得分数的最小值和最大值,因为我们不允许使用内置的 function 来完成我们的作业,我的平均工作良好,这些是我作业中唯一缺少的部分。
double game average = 0
for (int gameCounter = 1; gameCounter < gameScores.Length + 1; gameCounter++)
{
gameAverage += (gameScores[gameCounter - 1] / NUMBER_OF_GAMES);
}
只需将最小值和最大值存储为第一个值,并将下一个值与当前值进行比较
double gameMin = Double.MaxValue;
double gameMax = Double.MinValue;
for (int gameCounter = 1; gameCounter < gameScores.Length + 1; gameCounter++)
{
gameMin = gameMin > gameScores[gameCounter - 1] ? gameScores[gameCounter - 1] : gameMin
gameMax = gameMax < gameScores[gameCounter - 1] ? gameScores[gameCounter - 1] : gameMax
gameAverage += (gameScores[gameCounter - 1] / NUMBER_OF_GAMES);
}
?
是 c# 中的运算符,可以像我上面那样快速编写 if 语句。
请参阅: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/conditional-operator
但是,在您的代码中,您还可以像这样清理 for 循环定义:
for (int gameCounter = 0; gameCounter < gameScores.Length; gameCounter++)
此处不加 1 时,以后不必减去 1
比较字符串的最佳实践也是使用.equals()
,如下所示:
bowler.Equals("Y")
就像你为平均所做的那样循环游戏,但在你循环之前,有一个变量,比如minScore
或maxScore
,你初始化为 1 或其他东西。 然后在循环中检查分数是否小于或大于最小值或最大值。 如果是,请更新最小值/最大值。
像这样的东西:
int min = gameScores[0];
for (int gameCounter = 1; gameCounter < gameScores.Length + 1; gameCounter++)
{
if (gameScores[gameCounter] < min)
min = gameScores[gameCounter];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.