初学C的时候,打印菱形对于我来说就是噩梦,永远找不到控制二层循环最好的点,每次打印都没思路,不过这篇文章的解法非常简单易懂
首先我先价绍什么是曼哈顿距离:
可以看到找距离为n/2的点,是不是一下子让问题变得简明的超级多,这就突然和烦人的循环没多少关系了
代码如下:
#include#include using namespace std; int main() { //利用曼哈顿距离 d = |x1 - x2|+|y1 - y2| int x,y,center_x,center_y,n; cin>>n; center_x = n/2; center_y = n/2; cout< 还可以根据这个距离,打印空心的菱形,想一想只需要将距离条件控制到等于n/2,就是只打印一个菱形的边界一个空心菱形不久出来了吗?
#include#include using namespace std; int main() { //利用曼哈顿距离 d = |x1 - x2|+|y1 - y2| int x,y,center_x,center_y,n; cin>>n; center_x = n/2; center_y = n/2; cout<
点个吧,秋梨膏



