顺时针打印矩阵

来源:互联网 发布:耐克淘宝店装修风格 编辑:程序博客网 时间:2024/05/16 01:25
void PrintMatrixInCircle(int** number, int columns, int rows, int startY, int startX){    int endX = rows - startY -1;    int endY = columns - startX -1;    //向左输出数组中的值;    for(int i = startY; i <= endY; i++)        printf("%d ", number[startX][i]);    //向下输出数组中的值    for(int i = startX + 1; i <= endX; i++)        printf("%d ", number[i][endY]);    //向右输出数组中的值    if(startX != endX)        for(int i = endY-1; i >= startY; i--)            printf("%d ", number[endX][i]);    //向上输出数组中的值;    if(startY != endY)        for(int i = endX -1; i > startX; i--)            printf("%d ", number[i][startY]);}void PrintMatrix(int** number, int columns, int rows){    if(number == NULL || columns <= 0 || rows <= 0)        return;    int startX = 0;    int startY = 0;    while(rows > startX * 2 && columns > startY * 2)    {        PrintMatrixInCircle(number, columns, rows, startY, startX);        ++startX;        ++startY;    }}

0 0