• 题目描述
    请在给定的数组中查找一个特定的数字,如果该数字出现多次,请输出第一次出现的位置。

  • 正确的输入描述:
    多组测试,每组第一行输入1个整数n(n<20),第二行输入n个整数,第三行输入1个整数m

  • 输出描述:
    查找在第二行的n个整数中第一次出现数字m的下标位置并输出,如果没有找到则输出No,下标从0开始

  • 正确的示例1
    输入:
    3
    4 5 6
    5
    4
    2 2 2 2
    2
    输出:
    1
    0

  • 解题遇到的问题:
    在编写完代码后,在题目所给出的示例上进行测试是可以通过的,但是提交题解时却是遇到各种问题,但却又无法从反馈中获取有用的信息,主要还是没有反馈未通过的测试用例。在经过不知道多少次的提交之后,我终于确信是测试用例的问题,于是,我凭着自己的直觉和对题目中输入描述的推测,重新修改了代码,终于是AC了!!!!

  • 提交历程
    图片说明
    图片说明

  • C# 代码:

    using System;
    class Program{
      static void Main(){
          string input;
          string[] tokens;
          while((input = Console.ReadLine()) != null){
              input = Console.ReadLine();
              tokens = input.Split();
              input = Console.ReadLine();
              string res = "No";
              for(int i = 0; i < tokens.Length; i++)
                  if(tokens[i] == input){
                      res = i.ToString();
                      break;
                  }
              Console.WriteLine(res);
          }
      }
    }
  • 个人感受:
    巨难受!不知道问题的原因,也不想copy其他AC的答案,因为其他答案并没有用C#写的,毕竟我是用C#,也不知道为什么其他语言按照错误的输入描述也能AC,可能是在输入这块C#和其他语言不同吧,我也不清楚。总之,总算是解决了!

  • 更新
    通过向工作人员反应后已经将题目错误的部分修改了,为了让大家知道题目错误的部分是什么样的,就贴一下当时拍的没修正之前的题目照片:
    图片说明