概述
#include<stdio.h>
void Print_Circle(int (*A)[3],int rows,int cols,int start)
{
int endX=cols-1-start;
int endY=rows-1-start;
//从左到右打印一行
for(int i=start;i<=endX;++i)
printf("%d ",A[start][i]);
//从上到下打印一列
if(start<endY)//
for(i=start+1;i<=endY;++i)
printf("%d ",A[i][endX]);
//从右到左打印一行
if(start<endX && start<endY)
for(i=endX-1;i>=start;--i)
printf("%d ",A[endY][i]);
//从下到上打印一列
if(start<endX && start<endY-1)
for(i=endY-1;i>=start+1;--i)
printf("%d ",A[i][start]);
}
void Print_Matrix(int(*A)[3],int rows,int cols)
{
if(A==NULL||cols<0 ||rows<0 )
return;
for(int start=0; 2*start<rows && 2*start<cols;start++)
Print_Circle(A,rows,cols,start);
}
void main()
{
int A[4][3]={1,2,3,10,11,4,9,12,5,8,7,6};
Print_Matrix(A, 4, 3);
printf("n");
/*//int *a=new int[1000];//这样是定义一个数组a[1000],并没有初始化,里面的值可能随机出。
//int *a=new int[1000]();//后面加一个括号就是初始化了,这样a[1000]里面所有值都是0
int** A = new int*[4];
for( i = 0; i < 4; ++i)
delete[] (int*)A[i];
delete[] A;
*/
}
最后
以上就是等待汽车为你收集整理的剑指offer--面试题29:顺时针打印矩阵的全部内容,希望文章能够帮你解决剑指offer--面试题29:顺时针打印矩阵所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复