机试题:
Q: 有两个数组int[] ar1={1,9,3,8,2} int ar2[] ={3,-2,8,7,10},请将其合并到一个数组并排序后输出.
A:
int[] arrResult = new int[ar1.Length + ar2.Length];
Array.Copy(ar1, arrResult, ar1.Length); Array.Copy(ar2, 0, arrResult, ar1.Length, ar2.Length); Array.Sort(arrResult); foreach (int item in arrResult) { Console.WriteLine(item.ToString()); }
Q:有一个90位的数组,其中数字为随机生成,但其中有一个数字重复了,请把它找出.
A: 解法1:因为只须找出重复的数字不需要找出重复位置,因此可以先排序再查找
int iLoopMax = arrResult.Length - 1;
bool blnNotMatch = true;
for (int i = 0; i < iLoopMax; i++) {
if(arrResult[i] ==arrResult[i+1])
{
blnNotMatch = false;
Console.WriteLine("重复的数字是" + arrResult[i].ToString());
break;
}