• 题目描述
    在给定的数组中删除一个数。

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

  • 输出描述:
    删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数。

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

  • 相似之处
    这道题和未修改时的定位查找 类似,主要是题目示例与真正的测试用例不符,我在定位查找问题上也写了相关的题解进行说明 定位查找题解 。对于其他语言来说可能在读取方式上与C#不同,所以按照题目所描述的输入格式进行读取数据也能通过,但是C#是不行的,我也会试着反馈这道题给工作人员进行修正。

  • 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();
              int ind = -1;
              for(int i = 0; i < tokens.Length; i++)
                  if(tokens[i] == input){
                      ind = i;
                      break;
                  }
              for(int i = 0; i < tokens.Length; i++)
                  if(ind != i) Console.Write(tokens[i] + " ");
              Console.WriteLine();
          }
      }
    }
  • 更新
    通过反馈已经修正了题目的输入描述和示例。作为对比,下图为未修正时的题目:
    图片说明