北大OJ百练——4075:矩阵旋转(C语言)
生活随笔
收集整理的這篇文章主要介紹了
北大OJ百练——4075:矩阵旋转(C语言)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
百練的這道題很簡(jiǎn)單,通過(guò)率也達(dá)到了86%,所以我也就來(lái)貼個(gè)代碼了。。。下面是題目:
不過(guò)還是說(shuō)一下我的思路:
這道題對(duì)一個(gè)新來(lái)說(shuō),可能是會(huì)和矩陣的轉(zhuǎn)置相混淆,這題并不是要我們?nèi)デ缶仃嚨霓D(zhuǎn)置。
這題,我們只需要先得到這個(gè)矩陣,然后再按列的從小到大,行的從大到小來(lái)輸出即可。順便說(shuō)一句,這是在做題,只要去把原矩陣旋轉(zhuǎn)輸出就行了,而在以后的軟件程序中,我們最好還是用一個(gè)相同大小的矩陣來(lái)保存一份。指不定在程序的哪個(gè)地方還會(huì)用到原矩陣或是旋轉(zhuǎn)后的矩陣。廢話不多說(shuō),貼代碼:
#include <stdio.h> #define MAXN 100int main() {int m, n;int i, j;int mat[MAXN][MAXN];scanf("%d", &m);while(m--){// 輸入行和列均為n的n階矩陣scanf("%d", &n);for(i = 0; i < n; ++i){for(j = 0; j < n; ++j){scanf("%d", &mat[i][j]);}}// 輸出旋轉(zhuǎn)后的矩陣for(i = 0; i < n; ++i){for(j = n - 1; j >= 0; --j){printf("%d", mat[j][i]);if(j == 0) printf("\n");else printf(" ");}}}return 0; }
原題的連接: 4075:矩陣旋轉(zhuǎn)
總結(jié)
以上是生活随笔為你收集整理的北大OJ百练——4075:矩阵旋转(C语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 模拟计算机网络中的零比特填充
- 下一篇: 北大OJ百练——3179:最长单词(C语