坦率地说,你这个题的算法很不好,所以查错很不容易,建议你改写一下。用递归的算法来做把,思路会比较清晰。递归函数实现的功能就是:实现方阵外圈的数字填入,然后调用递归函数完成内一圈的数字填入,直到填完所有的圈。
成都创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计、成都网站制作、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
下面是一个5*5阶的螺旋方阵。编程打印出此形式的n*n(n=15)阶的方阵(顺时针方向旋进),n由键盘输入。
Description 输出n圈的螺旋方阵。
1、include stdio.h //基本思想是将所有数按照螺旋顺序存入2维数组,再输出 int main(){ int n,u,d,l,r,i,j, mat[100][100] = {0}; //定义各个变量,其中u,d,l,r为存入数组时的上下左右边界。
我在ACM上写了一个N*N阶螺旋阵的题,代码给你了,可能有点长。输入5即有结果。
下面是一个5*5阶的螺旋方阵。编程打印出此形式的n*n(n=15)阶的方阵(顺时针方向旋进),n由键盘输入。
二维数组的行要通过数值传送。你那样写是错的。
我们要定义一个二维数组来存储从键盘输入的数据,同时要求我们输出对角线的元素,我们可以得到对角线元素的行数值和列数值相等,所以说我们只需输出行数值和列数值相等的元素还有行数值加列数为5的元素。