读书人

求思路!解决思路

发布时间: 2013-10-11 14:52:39 作者: rapoo

求思路!
有一个数组 int array[100];本来应该存放的数为1~100,但是有两个数据丢失了,值变成了0。问如何找出丢失的那两个数?
[解决办法]
可以在原数组上打表,扫两遍就知道了.

举个例子,数组大小是5,存放1-5,丢了1个数.

原数组:4 2 5 3 0

迭代:
4 2 5 3 0
3 2 5 -1 0 把3和4换一下,把4标记为-1
5 2 -1 -1 0 把3和5换一下,把3标记为-1
0 2 -1 -1 -1 把5和0换一下,把5标记为-1
跳过0
0 -1 -1 -1 -1 2已在正确位置,把2标记-1
跳过所有-1
结束


再次遍历数组,发现array[1]==0,所以数字1丢失。

读书人网 >C语言

热点推荐