#include<iostream>
using namespace std;
int main() {
int n, i = 0, j = 0, k, m = 1, h = 0;
cin >> n;
int q=n;
int a[n][n]={0};
a[n/2][n/2]=n*n;
for (k = 0; k < n / 2+1; k++)
{
i=h;
j=h;
while ( j < n ) {
a[i][j] = m;
m += 1;
j++;
}
j = j - 1;
i++;
while ( i < n ) {
a[i][j] = m;
m += 1;
i++;
}
i = i - 1;
j--;
while (j >= h ) {
a[i][j] = m;
m += 1;
j--;
}
j = j + 1;
i--;
h++;
while (i >= h){
a[i][j] = m;
m += 1;
i--;
}
i = i + 1;
n=n-1;
}
for (i = 0; i < q; i++) {
for (j = 0; j < q; j++) {
cout << a[i][j] << " ";
}
cout<<endl;
}
return 0;
}
c++螺旋矩形输入大于10输出就有错误,求大佬指点
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 小白小白你好菜 2021-03-21 19:55关注
#include <stdio.h> #include <stdlib.h> int main() { int N, i, j, n, num = 1; scanf("%d", &N); int a[N][N] = {0}; for(n = 0; n <= N/2; n++) { for(j = n; j <= N-n-1; j++) a[n][j] = num++; for(i = n+1; i < N-n-1; i++) a[i][N-n-1] = num++; for(j = N-n-1;j > n; j--) a[N-n-1][j] = num++; for(i = N-n-1; i > n; i--) a[i][n] = num++; } //输出螺旋矩阵 for(i = 0; i < N; i++) { for(j = 0; j < N; j++) printf("%3d ",a[i][j]); printf("\n"); } system("pause"); return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd