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

1 2 3 412 13 14 511 16 15 610 9 8 7
2024-12-22 16:40:59
推荐回答(2个)
回答1:

//满意请采纳
#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;
}

回答2:

用 二重循环实现 ,先赋值到二维数组。