题目: 通过随机函数产生十个数[1, 100],必须包含一个数字为10的数且必须是唯一性,
对这十个数进行排序。查找这个10数字的位置并删除数字为10的数,遍历出这组数据。
下面是根据题意得出的一种解决方法。
Random R = new Random();
int[] a=new int[10];
int[] c = new int[9];
int r = 0;//计数器,记下10出现的次数
int l = 0;//新数组的自增变量,方便赋值
int i = 0;//i是计数器,也是数组的下标
int k = 0;//k是记录10在数组中的位置
bool b = false;
while (true)
{
a[i] = R.Next(1,101);
i++;
for (int j = 0; j < a.Length; j++)
{
if (a[j]==10&&i==9)
{
if (a[j]==10)
{
r++;
}
if (r>1)
{
i = 0;
continue;
}
k = j;
b = true;
}
}
if (b)
{
break;
}
if (i==10)
{
i = 0;
}
}
int temp = 0;
for (int j = 0; j < a.Length; j++)
{
for (int x = j+1; x < a.Length; x++)
{
if (a[x]<a[j])
{
temp = a[x];
a[x] = a[j];
a[j] = temp;
}
}
}
for (int ih = 0; ih < a.Length; ih++)
{
if (a[ih]!=10)
{
c[l++] = a[ih];
}
else
{
Console.WriteLine(ih);
}
}
Console.WriteLine();
foreach (var item in c)
{
Console.WriteLine(item);
}
以上还有很多可以优化的地方,这边就不一一细说。