[Algorithms] 打印菱形的另一种方法

int height, i, j, k, t;
    std::cout << "Enter the height of diamond: ";
    std::cin >> height;
    for (i = 0; i < height; i++)
    {
        t = std::abs((height >> 1) - i);
        for (j = 0; j < t; j++)
            std::cout << " ";
        for (k = 0; k < height - (t << 1); k++)
            std::cout << "*";
        std::cout << std::endl;
    }

使用abs,便可以减少一半的循环,替代传统的先打印上半部分再打印下半部分的方案。

测试结果与预期相同:

 [Algorithms] 打印菱形的另一种方法       [Algorithms] 打印菱形的另一种方法

上一篇:Algorithms_算法思想_递归篇


下一篇:CSI 403 Data Structures and Algorithms