2017-04-10 回答
#include "stdio.h"
void printmatrixclockwisely(int(*a)[5], int row, int col)
{
if(a == null|| row <= 0|| col <= 0)
return;
int i = 0, j = 0, k = 0;
for(i = 0; i < row/2 + row%2; i++){
for(j = i; j < col - i; j++){
printf("%d ",a[i][j]);
}
j--;
for(k = i + 1; k < row - i; k ++)
printf("%d ",a[k][j]);
k=row - i - 1;
j=col - i - 2;
for(; j >= i; j--)
printf("%d ",a[k][j]);
k = row - i - 2;
j = i;
for(; k >i; k--)
printf("%d ",a[k][j]);
}
}
int main(){
int a[5][5];
int k = 1,row=5,col=5;
for(int i = 0; i < row; i++){
for(int j = 0; j < col; j++)
a[i][j] = k++;
}
for(int i = 0; i < row ;i++){
for(int j = 0; j < col; j++)
printf("%4d ", a[i][j]);
printf("\n");
}
printmatrixclockwisely(a, row, col);
}