(转)一道面试题
问题:现有1~100共一百个自然数,已随机放入一个有98个元素的数组a[98]。要求写出一个尽量简单的方案,找出没有被放入数组的那2个数,并在屏幕上打印这2个数。注意:程序不用实现自然数随机放入数组的过程。
//a[98]中存放着原数组;
int i=0;
unsigned char b[100];
for(i=0;i<100;i++)
b[i]=0;
//依次填入b【100】,b[0]=1,b[1]=2,b[2]=3,.......
for(i=0;i<98;i++)
b[a[i]-1]=a[i];
//没有被填入数字的应该是还是0,b[n]=0
for(i=0;i<100;i++)
if(0==b[i]) printf("num:%d \n",(i+1));
答案位于原帖#30
http://topic.csdn.net/u/20110713/17/1631008e-8505-4155-820e-7f058b12c41a.html