1、打开visual C++ 6.0-文件-新建-文件-C++ Source File
2、定义数组和变量:#include<stdio.h>int main(){ int i,j,x=1,y=3,a[6][6]={0}; /*因为数组下标要用1到5,所以数组长度是6*/
3、给数组赋值: for(i=1;i<=25;i++) { a[x][y] =i; /*将1到25所有数存到数组相应位置*/
4、判断: if(x==1&&y==5) { x=x+1; /*当上一个数是第1行第五列时,下一个数放在它的下一行*/ continue; /*结束本次循环*/ }
5、计算数的位置: if(x==1) /*当上一个数是是第1行时,则下一个数行数是5*/ x=5; 髫潋啜缅else x--; /*否则行数减1*/ if(y==5) /*当上一个数列数是第5列时,则下一个数列数是1*/ y=1; else y++; /*否则列数加1*/ if(a[x][y]!=0) /*判断经过上面步骤确定的位置上是否有非零数*/ { x=x+2; /*表达式为真则行数加2列数减1*/ y=y-1; }
6、将二维数组输出: for(i=1;i<=5;i++) /*将二维数组输出*/ { for(j=1;j<=5;j++) { printf("%4d",a[i][j]); } printf("\n"); /*每输出一行回车*/ } return 0;
7、完整的源代码:#inclu蟠校盯昂de<stdio.h>int main(){ int i,j,x=1荑樊综鲶,y=3,a[6][6]={0}; /*因为数组下标要用1到5,所以数组长度是6*/ for(i=1;i<=25;i++) { a[x][y] =i; /*将1到25所有数存到数组相应位置*/ if(x==1&&y==5) { x=x+1; /*当上一个数是第1行第五列时,下一个数放在它的下一行*/ continue; /*结束本次循环*/ } if(x==1) /*当上一个数是是第1行时,则下一个数行数是5*/ x=5; else x--; /*否则行数减1*/ if(y==5) /*当上一个数列数是第5列时,则下一个数列数是1*/ y=1; else y++; /*否则列数加1*/ if(a[x][y]!=0) /*判断经过上面步骤确定的位置上是否有非零数*/ { x=x+2; /*表达式为真则行数加2列数减1*/ y=y-1; } } for(i=1;i<=5;i++) /*将二维数组输出*/ { for(j=1;j<=5;j++) { printf("%4d",a[i][j]); } printf("\n"); /*每输出一行回车*/ } return 0;}