标题:冰天雪地跪求,蛇行数组
只看楼主
十三月的花
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-16
 问题点数:0 回复次数:0 
冰天雪地跪求,蛇行数组
使一个N*N的二维数组按如下方式排列.
例如,4*4的二维数组采用如下排列:
1    2    6    7
3    5    8    13
4    9    12   14
10   11   15   16
如下代码中红色的部分有5个错误,导致结果显示有误.
#include<stdio.h>
void main()
{
int a[100][100]={0},n,i,j,k,l,s,sign;
s=1;sign=1;
scanf("%d",&n);
i=j=0;
for(k=0;k<n;k++)
  {
  if(sign==1)
    {
    i=k;j=0;
    while(i>=0)
      {
      a[i][j]=s;
      s++;i--;j++;
      }
    sign=-sign;
    }
  else
    {
    j=k;i=0;
    while(j>=0)
      {
      a[i][j]=s;
      s++;i++;j--;
      }
    sign=-sign;
    }
  }
s=n*n;
sign=-sign;
for(l=n-1;l>0;l--)
  {
  if(sign==-1)
    {
    i=l;j=n-1;
    while(i>=n-1)
    {a[i][j]=s;s--;i++;j--;}
    sign=-sign;
    }
  else
    {
    i=l;j=n-1;
    while(i<=n-1)
    { a[j][i]=s;
    s--;i++;j--;}
    sign=-sign;
    }
  }
for(i=0;i<n;i++)
   {
   for(j=0;j<n;j++)
   printf("%4d",a[i][j]);
   printf("\n");
}
}

哪儿大虾行行好.帮帮小弟偶啊~

[[it] 本帖最后由 十三月的花 于 2008-6-16 08:54 编辑 [/it]]
搜索更多相关主题的帖子: 蛇行 sign int main includevoid 
2008-06-16 08:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-219371-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.456125 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved