C语言for循环如何输出如下图形?

1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

//满意请采纳
#include <stdio.h>
#include<stdlib.h>
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;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-11
用 二重循环实现 ,先赋值到二维数组。
相似回答