| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
cnp5
10年前发布

C语言实现顺时针打印矩阵代码

    #include<stdio.h>        #include<stdlib.h>                void printMatrix(int **matrix,int columns,int rows,int start)        {            int x=columns-start-1;            int y=rows-start-1;            int i;            for(i=start;i<=x;i++)//先打印一行                printf("%d ",matrix[start][i]);            if(start<y)//从上往下            {                for(i=start+1;i<=y;i++)                    printf("%d ",matrix[i][x]);            }            if(x>start&&y>start)//从右到左打印            {                for(i=x-1;i>=start;i--)                    printf("%d ",matrix[y][i]);            }            if(x>start&&y>start+1)//从下到上打印            {                for(i=y-1;i>=start+1;i--)                    printf("%d ",matrix[i][start]);            }                }                void matrixClock(int **matrix,int columns,int rows)        {            if(matrix==NULL||columns<=0||rows<=0)                return;            int start=0;            while(columns>start*2&&rows>start*2)            {                printMatrix(matrix,columns,rows,start);                start++;            }        }                int main()        {            int n,m;            while(scanf("%d %d",&n,&m)!=NULL)            {                int **numbers;                int i,j;                numbers=(int **)malloc(sizeof(int *)*n);//n rows                for(i=0;i<n;i++)                    numbers[i]=(int *)malloc(sizeof(int)*m);//m columns                for(i=0;i<n;i++)                    for(j=0;j<m;j++)                        scanf("%d",&numbers[i][j]);                matrixClock(numbers,m,n);            }            return 0;        }