题目
提示:把1到n^2的正整数从左上角开始由外层至中心按照顺时针方向螺旋排列
一、输入输出
Input:
输入整数n (1 <= n <= 10)
Onput:
按示例输出矩阵
二、代码
1.
代码如下(示例):
#include<stdlib.h>
#include<stdio.h>
int main(){
int n;
int a[11][11]={0};
while (scanf("%d",&n)!=EOF){
int left=0,down=0;
int right=n-1,up=n-1;
int value=1;
while (left<=right && down<=up){
for (int i=left;i<=right;i++){
a[down][i]=value++;
}
for (int i=down+1;i<=up;i++){
a[i][right]=value++;
}
for (int i=right-1;i>=left;i--){
a[up][i]=value++;
}
for (int i=up-1;i>=down+1;i--){
a[i][left]=value++;
}
down++;
up--;
left++;
right--;
}
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
if (n<=3){
printf("%d ",a[i][j]);
}
else{
printf("%2d ",a[i][j]);
}
}
printf("\n");
}
}
return 0;
}
总结
最近太忙了,太多东西要学,没有时间写思路讲解看得懂就看,看不懂加q2301101584向我咨询,后续补充讲解。