矩阵式螺旋输出 博客分类: 算法 算法
程序员文章站
2024-03-15 20:55:26
...
//本算法采取逐圈赋值的方法,依次对每一层进行赋值
#include <stdio.h>
int add=1;
int a[100][100]={0};
void PrintCircleNum(int n);
void CircleNum(int n,int s,int m);
int main(){
int n;
while(1){
int m=1;
add=1;
printf("请输入矩阵行数n的值(n>1):");
scanf("%d",&n);
CircleNum(n,n,m);
printf("The Array matrix[%d][%d] is:/n",n,n);
PrintCircleNum(n);
}
return 1;
}
void PrintCircleNum(int n){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%d/t",a[i][j]);
}
printf("/n");
}
}
void CircleNum(int n,int s,int m){
//n为矩阵总的行数,s为运算到的那一圈的一行的个数,m为每一圈开始的第一个元素所在的位置即a[m][m]
int i;
if(m>((n+1)/2))
return;
for(i=m;i<=(n-m+1);i++){
a[m][i]=add++;
}
for(i=m+1;i<=(n-m+1);i++){
a[i][n-m+1]=add++;
}
for(i=(n-m);i>=m;i--){
a[n-m+1][i]=add++;
}
for(i=(n-m);i>=(m+1);i--){
a[i][m]=add++;
}
CircleNum(n,n-2,m+1);
}
推荐阅读
-
矩阵式螺旋输出 博客分类: 算法 算法
-
聚类分析(六)基于密度的聚类算法 — OPTICS 博客分类: 数据分析/挖掘 基于密度的聚类OPTICS
-
关联规则(一)Apriori算法 博客分类: 数据分析/挖掘 关联规则Apriori
-
聚类分析(五)基于密度的聚类算法 — DBSCAN 博客分类: 数据分析/挖掘 基于密度的聚类算法DBSCAN
-
聚类分析(五)基于密度的聚类算法 — DBSCAN 博客分类: 数据分析/挖掘 基于密度的聚类算法DBSCAN
-
聚类分析(六)基于密度的聚类算法 — OPTICS 博客分类: 数据分析/挖掘 基于密度的聚类OPTICS
-
聚类分析(四)层次聚类算法 博客分类: 数据分析/挖掘 层次聚类AGENESDIANA
-
矩阵式螺旋输出 博客分类: 算法 算法
-
面向算法效果的数据统计案例 博客分类: 工作经验
-
面向算法效果的数据统计案例 博客分类: 工作经验