劍指offer 面試題20:順時針打印矩陣

題目:
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字。

解法:

    void print(int a[4][3], int m, int n) {
        int mk = m/2 + m%2;
        int nk = n/2 + n%2;
        int c = mk > nk ? nk : mk;

        for (int k = 0; k < c; ++k) {
            for (int j = k; j < n-k; ++j) {
                cout << a[k][j] << "  ";
            }
            for (int i = k+1; i < m-k; ++i) {
                cout << a[i][n-1-k] << "  ";
            }
            for (int j = n-2-k; j >= k; --j) {
                cout << a[m-1-k][j] << "  ";
            }
            for (int i = m-2-k; i >= k+1; --i) {
                cout << a[i][k] << "  ";
            }
        }
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容