level 15
月城翁
楼主
文件地址:
链接: 百度网盘 密码: 7vrk
首先感谢http://bbs.csdn.net/topics/390811585的unituniverse2老师,他讲了绘制彩虹色带的方法。
我用他讲的方法,邯郸学步,编了MC程序:

结果正确。为了学用剑客的“函数池”,先把程序改写成:

在这个基础上再改写成:
结果不正确。想了好久,没有找到原因,特请剑客赐教。谢谢。

结果正确。
在这个基础上再改写成:
结果不正确。想了好久,没有找到原因,特请剑客赐教。
尽管在你的程序中也有c,但是在程序中c的位置是临时赋值的对象,仅在程序内有迭代意义,它与程序外已经定义的c无关的。比如说,我把你的f0中的c改为一个常量,得到的结果是一样的,如下:
如果要实现你的编程意图,只能想办法让f0函数与c发生直接关系,如下:
嗯,月城,按照你原来的程序,f0实际上是让MC在for循环中不断的进行stack((0 0 0),clr(n,t))这个动作,其中只有clr(n,t)是变化的,c是一个常量(0 0 0)没有变化。将f0定义为f0(c,n,t)之后,你后面的“c←”中的c的变化才能传导至f0中发生迭代。不知道我这么解释,您能明白么?