趣味算法-打印數字 (1)

給出一個數字N,按下面的規律打印圖形。


例如 N=3  輸出:
1*2*3
7*8*9
4*5*6


N = 5  輸出:
1*2*3*4*5
11*12*13*14*15
21*22*23*24*25
16*17*18*19*20
6*7*8*9*10

示例程序:

#include <iostream>

using namespace std;

void print(int n, int offset)
{
    int i = 0;
    int len = offset + n;

    for (i = offset; i < len; i++)
    {
        if (i < len-1)
            cout << i << '*';
        else
            cout << i;
    }
    cout <<endl;
}

void printMtrix(int n)
{
    int i = 0;

    i = 0;
    while(i <= n)
    {
        print(n, i*n+1);
        i += 2;
    }

    if (n%2 == 0)
        i = n - 1;
    else
        i = n - 2;

     while (i > 0)
     {
        print(n, i*n+1);
        i -= 2;
     }
}

void main()
{
    int i = 0;
    printMtrix(3);
    cout << endl << endl;
    printMtrix(4);
    cout << endl << endl;
    printMtrix(5);
    cin >> i;
}

測試結果:

pic_01



發佈了235 篇原創文章 · 獲贊 31 · 訪問量 59萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章