输入一个n*n字符矩阵,把它左旋90°后输出。
这题主要是找出旋转前后坐标的关系,在草稿上找一下规律就行了。
这里我第一次用了动态分配内存,其实直接定义最大数组也是可以的。
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
system("color 0a");
int n=0;
char **p;
printf("输入n:");
cin>>n;
p=new char*[n];
for( int i = 0 ; i < n ; ++i)//动态定义数组
p[i]=new char [n];
n-=1;//n自减1
for( int i = 0 ; i <= n ; ++i)//输入矩阵
scanf("%s",p[i]);
for( int i = 0 ; i <= n ; ++i)//输出矩阵
{
for( int j = 0 ; j <= n ; ++j)
printf("%c ",p[j][n-i]);
printf("\n");
}
delete p;
system("pause");
return EXIT_SUCCESS;
}