| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 85848 | 梁敖铭 | 螺旋矩阵 | C++ | Presentation Error | 1 MS | 204 KB | 852 | 2024-07-20 20:48:19 |
#include<stdio.h> int main(){ int i;//控制轮数 int j;//控制坐标 int k=1;//k从1加到n*n int m;//轮数 int n;//阶数 scanf("%d",&n);//输入阶数 int matrix[n][n];//为n*n的矩阵开辟空间 //计算循环轮数 if(n%2==0){ m=n/2; } else{ m=n/2+1; } for(i=0;i<m;i++){//m轮顺时针圈 for(j=i;j<n-i;j++){//向右输出 matrix[i][j]=k++; } //注意:从i+1开始递增,即往下挪一位才是下一个数 for(j=i+1;j<n-i;j++){//向下输出 matrix[j][n-i-1]=k++; } for(j=n-i-2;j>=i;j--){//向左输出 matrix[n-i-1][j]=k++; } for(j=n-i-2;j>=i+1;j--){//向上输出 matrix[j][i]=k++; } } //输出螺旋矩阵 for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%-4d",matrix[i][j]); } printf("\n");//这里记得换行 } return 0; }