【发布时间】:2014-03-19 00:15:41
【问题描述】:
我目前正在网上报名参加初级 C# 编程课程。很难联系我的老师寻求帮助,我正在为这个当前的程序而苦苦挣扎,我非常接近,但我的解决方案必须 100% 匹配老师的解决方案。 我必须在列表当前努力没有成功之前移动错误消息。请帮助我知道这可能是一个愚蠢的错误,但我仍然是初学者。 到目前为止我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace midterm
{
class Program
{
static void Main(string[] args)
{
int size;
Console.WriteLine("How many numbers will you enter?");
size = Convert.ToInt32(Console.ReadLine());
int[] numbers = new int[size];
int count = 0;
while (count < size)
{
Console.Write("Enter number: ");
int number = Convert.ToInt32(Console.ReadLine());
if (number >= 10 && number <= 100)
{
bool containsNumber = false;
for (int j = 0; j < count; j++)
{
if (number == numbers[j])
containsNumber = true;
if (numbers[j] > 0)
Console.WriteLine("{0}", numbers[j]);
}
if (!containsNumber)
{
if (count < numbers.Length)
numbers[count] = number;
Console.WriteLine(number);
}
else
{
Console.WriteLine("{0} has already been entered", number);
}
++count;
}
else
Console.WriteLine("number must be between 10 and 100");
}
Console.ReadLine();
}
}
}
测试用例:
10
90
50
90
22
18
65
22
92
100
20
正确的解决方案:
How many numbers will you enter?
Enter number: 90
Enter number: 90
50
Enter number: 90 has already been entered
90
50
Enter number: 90
50
22
Enter number: 90
50
22
18
Enter number: 90
50
22
18
65
Enter number: 22 has already been entered
90
50
22
18
65
Enter number: 90
50
22
18
65
92
Enter number: 90
50
22
18
65
92
100
Enter number: 90
50
22
18
65
92
100
20
我的解决方案:
How many numbers will you enter?
Enter number: 90
Enter number: 90
50
Enter number: 90
50
90 has already been entered
Enter number: 90
50
22
Enter number: 90
50
22
18
Enter number: 90
50
22
18
65
Enter number: 90
50
22
18
65
22 has already been entered
Enter number: 90
50
22
18
65
92
Enter number: 90
50
22
18
65
92
100
Enter number: 90
50
22
18
65
92
100
20
【问题讨论】:
-
您需要什么样的帮助?提示如何调试代码?
-
你了解过 List
或 Linq 吗?如果是这样,有更简单的解决方案和什么版本的 C#? -
你知道,堆栈不是一个代码编写服务......你需要问一些具体的事情,否则你不会得到任何答案!
-
我需要做的就是将错误消息“数字已输入”移动到列表之前而不是之后。
-
我明白了 - 请注意,您帖子中 90% 的文字不与您尝试解决的问题相关(例如“与老师交谈”、“C# 中的新内容”、 ...以及示例数据中的大量文本) - 如果您跳过所有这些文本,它会更容易阅读。