C语言 经典题目螺旋矩阵 实例详解

C语言 经典题目螺旋矩阵 实例详解,第1张

概述C语言经典题目螺旋矩阵//N阶螺旋矩阵#include<stdio.h>#include<stdlib.h>intmain()

C语言 经典题目螺旋矩阵

//N阶螺旋矩阵 #include <stdio.h> #include <stdlib.h> int main() {   int N,i,j,n,num=1;   int a[10][10]={0};   printf("输入你要输出的几阶中断:");   scanf("%d",&N);       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("%2d ",a[i][j]);          printf("\n");    }          system("pause");    return 0; }    

思路是这样的,刚开始很容易想到顺时针赋值,如下图为5阶:分为四个方向顺时针赋值。每个方向负责相同数量的元素。


但这样,后来发现当N为基数时,最中心一个数不能被赋值。

所以改为还是顺时针赋值,只是->方向多负责一个元素,右| 方向少负责一个元素


最后的运行结果如下图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的C语言 经典题目螺旋矩阵 实例详解全部内容,希望文章能够帮你解决C语言 经典题目螺旋矩阵 实例详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1245783.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存