为什么当我输入分数时,它没有显示我的分数无效
本文关键字:显示 无效 我的 输入 为什么 | 更新日期: 2023-09-27 18:25:54
{
using System;
using static System.Console;
class Program
{
static void Main(string[] args)
{
int score; //score
int totalScore = 0;
int count = 0;
string message;
WriteLine("Enter test scores:");
message = ReadLine();
score = Convert.ToInt32(message);
count = ++count;
totalScore += score;
while (score > 100)
{
Console.WriteLine("Invalid score, please enter a valid test score");
message = Console.ReadLine();
score = Convert.ToInt32(message);
count = ++count;
totalScore += score;
while (score != -1)
{
WriteLine("Enter test scores:");
message = ReadLine();
score = Convert.ToInt32(message);
count = ++count;
totalScore += score;
}
int average = totalScore / count; //the average
WriteLine("The average of all {0} scores is {1}", count, average);
}
}
}
}
每当我运行代码时,如果我先输入无效分数,它会显示它是无效的,直到我输入有效分数,而在我输入有效分数然后尝试输入无效分数后,它不会显示它是无效的。为什么?
当你第一次输入一个无效的循环时,你进入第一个while循环,之后当你输入一个有效的循环时,你将最后一次运行while循环,从而进入另一个while循环,一旦你在那里完成,你就不会重新开始。
这就是正在发生的事情
当分数> 100 时,写入无效分数并读取新分数
如果新分数仍然> 100 运行循环并重新开始。但是,如果新分数<100 继续最后一次循环。