//【1】现有1~100 共一百个自然数,已随机放入一个有98个元素的数组a[98]。要求写出一个尽
// 量简单的方案找出没有被放入数组的那2个数,并在屏幕上打印这2个数 注意:程序不用实现
// 自然数随机放入数组的过程
int[] a = new int[98];
int[] num = new int[100];
int i;
for (i = 0; i < num.Length; i++)
{
num[i] = i + 1; //随机放入
}
Random rand = new Random();
int temp;
for (i = 0; i < a.Length; i++)
{
while (true)
{
temp = rand.Next(100);
if (num[temp] != 0)
{
num[temp] = 0;
a[i] = temp + 1;
break;
}
}
}
//查找
for (i = 0; i < a.Length; i++)
{
if (num[a[i] - 1] != 0)
num[a[i] - 1] = 0;
}//输出
for (i = 0; i < a.Length; i++)
{
if (i % 10 == 0 && i > 0)//每十个换行
{
System.Console.WriteLine();
}
System.Console.Write("{0,4}", a[i]); //{0,4}占四个字位置
}
System.Console.WriteLine();
System.Console.Write("没有被放入数组的2个数:");
for (i = 0; i < num.Length; i++)
{
if (num[i] != 0)
{
System.Console.Write("{0,4}", num[i]);
}
}
System.Console.WriteLine();
Console.ReadLine();