| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:冰天雪地跪求,蛇行数组
只看楼主 加入收藏
十三月的花
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
快速回复:冰天雪地跪求,蛇行数组
数据加载中...
 
   



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

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