//满意请采纳
#include
#include
int main(){
int i,j,number=1,a[30][30];
for(i=0;i<=2;i++){ //控制总共有几个顺时针螺旋
for(j=i;j<4-i;j++) //向右(改变纵坐标,保持横坐标不变)
a[i][j]=number++;
for(j=i+1;j<4-i;j++) //向下(改变横坐标,保持纵坐标不变)
a[j][4-i-1]=number++;
for(j=4-i-2;j>i;j--) //向左(改变纵坐标,保持横坐标不变)
a[4-i-1][j]=number++;
for(j=4-i-1;j>i;j--) //向上(改变横坐标,保持纵坐标不变)
a[j][i]=number++;
}
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
return 0;
}
用 二重循环实现 ,先赋值到二维数组。