第1个回答 2014-11-05
#include <stdio.h>
#define N 4 /*数组元素*/
int main()
{
int arr[N] = {5, 1, 8, 6} ;
int i ;
int j ;
int matrix[2*N+10][2*N+10] ;
int size ; //size表示根据数组元素计算出的矩阵的长宽
size = 2*N-1 ; //计算矩阵的大小
for(i = 0; i < N; i++)
{
for(j = i; j <= size-1-i; j++)
{
matrix[i][j] = arr[i] ; //正方形上面一行
matrix[j][i] = arr[i] ; //正方形左边一列
matrix[size-1-i][j] = arr[i] ; //正方形下边一行
matrix[j][size-1-i] = arr[i] ; //正方形右边一列
}
}
for(i = 0; i < size; i++)
{
for(j = 0; j < size; j++)
printf("%d", matrix[i][j]) ;
printf("\n") ;
}
return 0 ;
}本回答被网友采纳