int[] a = { 1, 5, 87, 2, 55 }; int[] b = new int[101]; for (int i = 0; i < a.Length; i++) b[a[i]] = 1; for (int i = 1; i < b.Length; i++) if (b[i] != 1) Console.Write("{0},", i); Console.ReadLine();
int[] a = { 1, 5, 87, 2, 55 };var result = Enumerable.Range(1, 100).Except(a);foreach (int x in result) Console.WriteLine(x);
最笨的方法: ArrayList a = new ArrayList(); int num=1; a.Add(num);//这里把你要检查的数据添加进去 int[] mask = new int[100];//这个数组是1,23……100个整数 for (int i = 1; i <= 100; i++) { if (a.Contains(i)) { mask[i] = 0; } else continue; } for (int j = 0; j < 100; j++) { if (mask[j] != 0) Console.WriteLine("This number is not exist!----{0}", mask[j]); }
我想到两种方式,方式一:先升序排序,再从小到大开始遍历查询,缺哪个数哪个数即为缺少的数 假设数字不全的数组为Group1 //冒泡升序排序 for(int i = 0; i< Group1.length; i++) { for(int j = 0; j < Group1.length - i - 1; j ++) { if(Group1[j] > Group1[j+1]) { int temp = Group1[j+1]; Group1[j+1] = Group1[j]; Group1[j] = temp; } } } ///找出缺少的 int groupindex = 0; for(int i = 1;i<=100; i++) { if(Group1[groupindex] == i) { groupindex++; } else { //从这里输出结果 Console.WriteLine("This number is not exist!----" + i.ToString()); } } 方法二:利用数组下标,未赋值为1的肯定是缺少的 int[] grouptemp = new int[100]; for(int i = 0; i < 100; i++) { grouptemp[i] = 1000; } for(int i = 0; i<Group1.length;i++) { grouptemp[Group1[i]] = 1; } for(int i = 0;i < 100; i++) { if(grouptemp[i] == 1000) { //从这里输出结果 Console.WriteLine("This number is not exist!----" + (i+1).ToString()); } }
int[] a = { 1, 5, 87, 2, 55 };
int[] b = new int[101];
for (int i = 0; i < a.Length; i++)
b[a[i]] = 1;
for (int i = 1; i < b.Length; i++)
if (b[i] != 1)
Console.Write("{0},", i);
Console.ReadLine();
先把这个序列循环放进一个字典中,主键就是1-100
然后再循环这个字段
for(int i=1;i<=100;i++)
{
try
{
dic[i]...
}
catch()
{
//出错的就是少的。
}
}
int[] a = { 1, 5, 87, 2, 55 };
ArrayList result=new ArrayList ();
for(int i=1;i<=100;i++)
{
if(!a.Contains(i)) }
{
result.Add(i);
}
}
num.sort();//对数组排序
int[] newn=new int[100];//用来放结果的
int index=0;//记录存到哪个下标位了
int j=1;
for(int i=0;i<num.length;i++)
{
for(;j<100;j++)
{
if(num[i]==j)
{
//遇到相等的,就换下一个数
break;
}
newn[index]=j;
index++;
}
}
看看这个行不,还没学过 ArrayList !!!
Console.WriteLine(x);
ArrayList a = new ArrayList();
int num=1;
a.Add(num);//这里把你要检查的数据添加进去
int[] mask = new int[100];//这个数组是1,23……100个整数
for (int i = 1; i <= 100; i++)
{
if (a.Contains(i))
{
mask[i] = 0;
}
else
continue;
}
for (int j = 0; j < 100; j++)
{
if (mask[j] != 0)
Console.WriteLine("This number is not exist!----{0}", mask[j]);
}
假设数字不全的数组为Group1
//冒泡升序排序
for(int i = 0; i< Group1.length; i++)
{
for(int j = 0; j < Group1.length - i - 1; j ++)
{
if(Group1[j] > Group1[j+1])
{
int temp = Group1[j+1];
Group1[j+1] = Group1[j];
Group1[j] = temp;
}
}
}
///找出缺少的
int groupindex = 0;
for(int i = 1;i<=100; i++)
{
if(Group1[groupindex] == i)
{
groupindex++;
}
else
{
//从这里输出结果
Console.WriteLine("This number is not exist!----" + i.ToString());
}
}
方法二:利用数组下标,未赋值为1的肯定是缺少的
int[] grouptemp = new int[100];
for(int i = 0; i < 100; i++)
{
grouptemp[i] = 1000;
}
for(int i = 0; i<Group1.length;i++)
{
grouptemp[Group1[i]] = 1;
}
for(int i = 0;i < 100; i++)
{
if(grouptemp[i] == 1000)
{
//从这里输出结果
Console.WriteLine("This number is not exist!----" + (i+1).ToString());
}
}