[C++] 绘制菱形

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;

int main()
{
    int n; // 菱形最长行的个数为n,且n一定为奇数因为 n = 2*k + 1
    cin >> n;
    
    int cn = 1;
    bool isUp = true;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= (n - cn) / 2; j++) {
            cout << " ";
        }
        for (int j = 1; j <= cn; j++) {
            cout << "*";
        }
        for (int j = 1; j <= (n - cn) / 2; j++) {
            cout << " ";
        }
        cout << endl;

        if (cn >= n) {
            isUp = false;
        }
        if (isUp) {
            cn += 2;
        } else {
            cn -= 2;
        }
    }
    return 0;
}

QQ截图20150727100638

Licensed under CC BY-NC-SA 4.0