这个例子算是比较经典的吧,通过分析整个例子从中学习一些新的思维方式。
当然在此之前老师讲过多次这个例子,但是我们大多数同学还都做不出来。原因就是我们没有及时总结,于是今天下午用了一下午的时间总结这个例子。说实话对于我来说还是挺有挑战性的,但是凭着老师讲的次数比较多还是做出来了。
下面是我整理的思路
(一)定义变量
(二)产生随机数
(1)先产第一个随机数
(2)产生其他随机数
(3)判断是否重复并做好标记
(4)如果重复就舍弃当前产生的这个数,再重新产生一个
(5)知道产生的数都不重复,将所有的数输出
(三)找出最大数
其中老师最为强调的就是要必须找到每个程序的程序“眼”,也就是下手点或者突破点,这个例子中“眼”就是先要产生第一个数。因为第一个数绝对没有重复的,特殊情况特殊处理,而后面的数都要跟前面的比较,看看是否重复。第一个解决了后面也就迎刃而解了。
这个例子还有他最大的亮点就是先做标记最后再统一处理。逻辑性比较强而且便于理解,像这种具有代表性的例子以后要及时总结及时消化!