蛇形矩阵……
来源:互联网 发布:淘宝网店女鞋图片 编辑:程序博客网 时间:2024/06/10 08:15
问题链接……
#include<stdio.h>#define MAX 25int a[MAX][MAX]={0};void snake_matrix(int n){int i,j,k,m,r;//m为从1-n按顺序要存入数组的数,r是为了暂存数据用的i=j=k=0;//i,j为控制数组a下标的,k:比如说k为偶数,则从a[k][0]开始把m存入,是奇数则从a[0][k]开始把m存入for(k=0,m=1;k*k<n+1;k++){if(k%2==0)//k为偶数{i=k;j=0;r=m;while(m<=r+k&&m!=n+1)//从a[k][0]开始向右存入ma[i][j++]=m++;m--;r=m;j--;while(m<=r+k&&m!=n+1)//从a[k][k]开始向上存入ma[i--][j]=m++;}else{i=0;j=k;r=m;while(m<=r+k&&m!=n+1)//从a[0][k]开始向下存入ma[i++][j]=m++;m--;r=m;i--;while(m<=r+k&&m!=n+1)//从a[k][k]开始向左存入ma[i][j--]=m++;}}}void print(int n)//打印输出{int i,j,k;for(i=k=0;i<=MAX;i++){for(j=0;j<=MAX;j++)if(a[i][j]!=0)//如果是0不输出printf("%-4d",a[i][j]);else if((i+1)*(i+1)>n&&i*i<n)//如果最后一行前面有0,则用空格代替,比如输入98时,最后一行是0,0,99,98……printf(" ");elsebreak;//其它情况跳出循环printf("\n");if((i+1)*(i+1)>n)//如果最后一行输出完毕,就结束循环……break;}}void main(){int n;printf("n:");scanf("%d",&n);//输入蛇形矩阵的长度,为了正常显示,n应小于400snake_matrix(n);//生成长度为n的蛇形矩阵print(n);//输出生成蛇形矩阵}
- 蛇形矩阵……
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 蛇形矩阵
- 实现div跟着鼠标走
- .dylib文件扩展名,.dylib文件如何打开?
- JQuery插件开发入门(原创)
- Qt资料
- linux mac列出目录下的文件和文件夹名字
- 蛇形矩阵……
- 将ASP.NET MVC 2.0 部署在IIS上的教程
- 打印控件是否支持firefox、chrome、safari浏览器?
- ORACLE分区表操作
- 哥终于要工作了哈。发个庆祝下
- Mysql 忘记 root 密码的几种处理方法
- Oracle trunc()函数
- HDOJ1019多个数的最小公倍数
- 每天1点执行的oracle JOB样例