打印菱形,用数学公式解,思路直来直去,易理解
时间:2010-12-24 来源:newbie2011
* * * * *
如果调用diamond(5, '+')则打印:
+ + + + + + + + + + + + +
如果用偶数做参数则打印错误提示。
2、分析 以diamond(5, '*')为例,如上图,将打印的图案放置到坐标系中,中心和坐标原点重合,很直观看出要求打印可见符号的区域在4条直线组成的菱形内,给定坐标(x,y)很容易判断这个点是不是在这个菱形内,如果在之内就打印可见字符'*',不在之内就打印不可见的字符,如tab。 4条直线的方程式分别是:假定t=(n-1)/2 ①y=x+t ②y=-x+t ③y=x-t ④y=-x-t 根据基本的数学知识,在菱形之内的点,分别要求: ①y<=x+t ②y<=-x+t ③y>=x-t ④y>=-x-t 3、代码
#include <stdio.h> |
#include <stdio.h> |