您的位置:首页 > 其它

螺旋矩阵及其变种

2016-06-23 11:42 330 查看
1输入

开始数字和矩阵大小如 1 3

输出

1 2 5

4 3 6

9 8 7

#include <stdio.h>
#include <stdlib.h>

int main(){
int num,ArraySize;
scanf("%d%d",&num,&ArraySize);
int a[ArraySize][ArraySize];
int col,row;
col = row = 0;
for(int i=0;i<ArraySize;i++)
{
col = i;
for(row=0;row<i;row++)
a[row][col] = num++;
for(;col>=0;col--)
a[row][col] = num++;
}
for(int i=0;i<ArraySize;i++){
for(int j=0;j<ArraySize;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
return 0;
}


2.输出螺旋矩阵
#include <stdio.h>
#include <stdlib.h>

int main(){
int num,ArraySize;
scanf("%d%d",&num,&ArraySize);
int a[ArraySize][ArraySize];
int col,row,t;
col = row = 0;
t = ArraySize;
for(int i=ArraySize;i>=0;i=i--,ArraySize=ArraySize-2){
for(int j=0;j<ArraySize;j++){
a[row][col++] = num++;
}
col--;
for(int j=0;j<ArraySize-1;j++){
a[++row][col] = num++;
}
for(int j=0;j<ArraySize-1;j++){
a[row][--col] = num++;
}
for(int j=0;j<ArraySize-2;j++){
a[--row][col] = num++;
}
col++;
}
for(int i=0;i<t;i++){
for(int j=0;j<t;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: