您的位置:首页 > 编程语言 > C语言/C++

C语言 实验7-2-9 螺旋方阵 (20分)

2020-07-26 09:05 411 查看

#include<stdio.h>
int main (void)
{
int n,i,j,a[10][10]={0},s=1;
scanf("%d", &n);
int end=n,st=0;   // end:每次循环的最大下标   st:最小下标
int k=n;    //记录一下 n的初始值,遍历输出时用

while (n > 1){
for (j=st; j<end-1; j++)   // n-1个数字一组
a[st][j] = s++;
for (i=st; i<end-1; i++)
a[i][end-1] = s++;
for (j=end-1; j>st; j--)
a[end-1][j] = s++;
for (i=end-1; i>st; i--)
a[i][st] = s++;
n -= 2;
end -= 1;
st += 1;
}
if (k % 2 == 1)      // 别漏了最中间的那个
a[st][end] = s;
for (i=0; i<k; i++){
for (j=0; j<k; j++)
printf("%3d", a[i][j]);
printf("\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: