天天看點

矩陣旋轉

/*
題目要求:輸入一個n*n字元矩陣,把它左轉90度後輸出 
樣例輸入:
3
abcdefghi 
樣例輸出:
a b c
d e f
g h i

c f i
b e h
a d g 
*/ 

#include<stdio.h>
#define MAXN 10
char buf[MAXN][MAXN];
char s[MAXN][MAXN];

int main(void)
{
	int i=0, j, n;
	scanf("%d", &n);//注意這裡,scanf處理輸入完,回車後,\n還在輸入緩沖區内,是以要進行重新整理,避免讀入
	fflush(stdin);
	for(; i<n; i++)
	{
		fgets(buf[i], n+1, stdin);
	}
	for(i = 0; i<n; i++)
	{
		for(j = 0;j<n; j++)
		{
			printf("%c ", buf[i][j]);
		}
		printf("\n");
	}
	for(i = 0; i<n; i++)
	{
		for(j = 0; j < n; j++)
		{//旋轉 
			s[i][j] = buf[j][n-1-i];
		}
	}
	printf("\n\n");
	for(i = 0; i<n; i++)
	{
		for(j = 0;j<n; j++)
		{
			printf("%c ", s[i][j]);
		}
		printf("\n");
	}
	return 0;
}
           

繼續閱讀