因此,我目前是C#的初学者,我有一个练习来解决我的作业 - 用户从控制台输入一个介于0到100之间的整数,包括数字的英文单词写在控制台上,所以如果输入为1,则为“1”,如果输入为2,则为“2”,如果输入为25,则输入“25”等等。问题是,出于某种原因,当我使用判断自动化系统测试我的程序时,我只得到84/100分,并且我无法理解为什么,在代码中没有看到任何错误,这里是:c#在简单练习中遇到问题
class Program
{
static void Main()
{
var a = int.Parse(Console.ReadLine());
if (a < 20)
{
if (a == 0) Console.WriteLine("zero");
else if (a == 1) Console.WriteLine("one");
else if (a == 2) Console.WriteLine("two");
else if (a == 3) Console.WriteLine("three");
else if (a == 4) Console.WriteLine("four");
else if (a == 5) Console.WriteLine("five");
else if (a == 6) Console.WriteLine("six");
else if (a == 7) Console.WriteLine("seven");
else if (a == 8) Console.WriteLine("eight");
else if (a == 9) Console.WriteLine("nine");
else if (a == 10) Console.WriteLine("ten");
else if (a == 11) Console.WriteLine("eleven");
else if (a == 12) Console.WriteLine("twelve");
else if (a == 13) Console.WriteLine("thirteen");
else if (a == 14) Console.WriteLine("fourteen");
else if (a == 15) Console.WriteLine("fifteen");
else if (a == 16) Console.WriteLine("sixteen");
else if (a == 17) Console.WriteLine("seventeen");
else if (a == 18) Console.WriteLine("eighteen");
else Console.WriteLine("nineteen");
}
else if (a == 20 || a == 30 || a == 40 || a == 50 || a == 60 || a == 70 || a == 80 || a == 90 || a == 100)
{
if (a == 20) Console.WriteLine("twenty");
else if (a == 30) Console.WriteLine("thirty");
else if (a == 40) Console.WriteLine("forty");
else if (a == 50) Console.WriteLine("fifty");
else if (a == 60) Console.WriteLine("sixty");
else if (a == 70) Console.WriteLine("seventy");
else if (a == 80) Console.WriteLine("eighty");
else if (a == 90) Console.WriteLine("ninety");
else Console.WriteLine("hundred");
}
else
{
if (a/10 == 2) Console.Write("twenty ");
else if (a/10 == 3) Console.Write("thirty ");
else if (a/10 == 4) Console.Write("forty ");
else if (a/10 == 5) Console.Write("fifty ");
else if (a/10 == 6) Console.Write("sixty ");
else if (a/10 == 7) Console.Write("seventy ");
else if (a/10 == 8) Console.Write("eighty ");
else Console.Write("ninety ");
if (a % 10 == 1) Console.WriteLine("one");
else if (a % 10 == 2) Console.WriteLine("two");
else if (a % 10 == 3) Console.WriteLine("three");
else if (a % 10 == 4) Console.WriteLine("four");
else if (a % 10 == 5) Console.WriteLine("five");
else if (a % 10 == 6) Console.WriteLine("six");
else if (a % 10 == 7) Console.WriteLine("seven");
else if (a % 10 == 8) Console.WriteLine("eight");
else Console.WriteLine("nine");
}
}
}
神圣的母亲,这是很多如果陈述 – jdmdevdotnet
我们不知道什么是自动判断的要求。干净的代码,更智能的做法或其他方式。你应该问问你的教授。 – mybirthname
尝试运行for循环从0到100而不是用户输入,运行相同的方法,检查是否得到所有正确的文本,如果不是,那么代码是好的,但你失去了关于它如何写的点 - 100 %你不需要这么多if-elses –