作业帮 > 综合 > 作业

一个98位自然数数组,在1-100内怎么知道那两个数字不在数组中?要具体的代码实现,最好能考虑到效率问题.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 20:09:03
一个98位自然数数组,在1-100内怎么知道那两个数字不在数组中?要具体的代码实现,最好能考虑到效率问题.
建立一个100位自然数数组b[100]
然后给出的98位数组是a[98]
赋值,b[n]=n+1
(就是说b[0]=1,b[1]=2,...b[99]=100)
将a[n]从小到大排列一下,
(比如把原来a[0]=3,a[1]=2,a[2]=1,给改成
a[0]=1,a[1]=2,a[2]=3)
然后从n=0开始比对a[n]和b[n]一直比对到n=97
如果,a[n]==b[n]
那么,继续比对a[n+1]和b[n+1]
如果a[n]b[n]
那么,继续比对a[n]和b[n+1]
同时输出n+1
如果,a[n]==b[n+1]
那么,继续比对a[n+1]和b[n+2]
如果a[n]b[n+1]
输出n+2
如果a[97]=99,那么输出100
最后输出的两个数就是差的两个数