题目:输入一个矩阵 按照从外向量以顺时针的顺序依次打印出每一个数字
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int **A=(int **)malloc(sizeof(int *)*n);
for(int i=0;i<n;i++)
A[i]=(int *)malloc(sizeof(int )*n);
int s=1;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
A[i][j]=s++;
for(int i=0;i<(n+1)/2;i++)
{
int j=i;
for(j=i;j<n-i;j++)
{//
cout<<A[i][j]<<' ';
}
int k=0;
for( k=i+1;k<n-i;k++)
cout<<A[k][j-1]<<' ';
int s=0;
for(s=j-2;s>=i;s--)
{//
cout<<A[k-1][s]<<' ';
}
int
t=0;
for(t=n-i-2;t>i;t--)
{//
cout<<A[t][i]<<' ';
}
}
cout<<endl;
free(A);
return 0;
}
本文介绍了一个使用C++实现的算法,该算法可以将输入的矩阵按从外向内顺时针方向打印出来。通过动态内存分配创建矩阵,并填充递增整数,然后逐层遍历矩阵边界来实现顺时针打印。
1008

被折叠的 条评论
为什么被折叠?



