using System;
class Program
{
static void Main()
{
int[] arr = new int[] { 7, 6, 5, 1, 8, 5, 3, 9, 4 };
int key;
int i;
Console.Write("删除前:");
for (i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
Console.WriteLine();
Console.Write("待删除数:");
key = int.Parse(Console.ReadLine());
if (Remove(ref arr, key) == true)
{
Console.WriteLine("删除 {0} 成功!", key);
}
else
{
Console.WriteLine("删除 {0} 失败,数组中不存在该元素!", key);
}
Console.Write("删除后:");
for (i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
}
//删除数组arr中值为key的第一个元素,若删除成功,返回true,否则返回false
static bool Remove(ref int[] arr, int key)
{
int i, j;
int len = arr.Length;
for (i = 0; i < len && arr[i] != key; i++) ;
if (i >= len)
{
return false;
}
for (j = i + 1; j < len; j++)
{
arr[j - 1] = arr[j];
}
Array.Resize(ref arr, len - 1);
return true;
}
}
追问谢谢你回答 不过我看不懂