趣味算法-打印数字 (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;
}

测试结果:

趣味算法-打印数字 (1)_第1张图片



你可能感兴趣的:(趣味算法-打印数字 (1))