求大神帮忙,找出代码错误
题目:你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。他在纸上写了好些一二三,可惜有些字母写错了。已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗?输入第一行为单词的个数(不超过 10)。以下每行为一个单词,单词长度正确,且最多有一个字母写错。所有字母都是小写的。输出对于每组测试数据,输出一行,即该单词的阿拉伯数字。输入保证只有一种理解方式。样例输入
3 owe too theee
样例输出
1
2
3
我写的代码int i,b; char[] a = new char; int n =int.Parse(Console.ReadLine()); for (i = 0; i <= n;i++ ) { string s = a.ToString(); Console.Write(s); Console.ReadKey(true); b = a.GetLength(0); if (b == 3) { if ((s == 'o' && s == 'n') || (s == 'o' && s == 'e') || (s == 'n' && s == 'e')) { Console.WriteLine("1"); } else { Console.WriteLine("2"); }
} else { Console.WriteLine("3"); }
全手打,仅提供思路 1.设置静态变量保存字符串,static string one = "one"
2.获取输入字符串 string read = 输入数据
3.循环匹配字符串中的字符,如果保存的字符串字符和输入的字符串字符完全匹配或者只有一个不匹配,程序将会任务这两个字符串为同一数据,将会执行阿拉伯数字的输出
list<char> TempOneList = new list<char>();
int Count = 0;
//将静态变量放入集合
for(int i = 0 ;i<one.length;i++)
{
char temp = one;
TempOneList.add(temp);
}
//进行判断,执行个数验证
for(int i = 0;i<read.length;i++)
{
char temp = read;
//判断,如果包含该字符,则个数加一
if(TempOneList.contain(temp)==true)
{
count ++;
}
}
//循环验证完成,进行判断,如果验证字符和局部字符长度一样或者少一个,表示通过
if(count == one.length || count == one.lengt -1)
{
//通过验证,输出字符,默认为正确阿拉伯数字
}
页:
[1]