| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1364 人关注过本帖
标题:[求助]数组问题②
只看楼主 加入收藏
星夜
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-11-17
收藏
 问题点数:0 回复次数:22 
[求助]数组问题②
  • 将螺旋方阵存放到n*n 的二维数组中并把它打印输出。要求由程序自动生成图(1)所示螺旋方阵(而不是人为的初始化或逐个赋值)。 由程序读入。


    1 16 15 14 13

    2 17 24 23 12

    3 18 25 22 11

    4 19 20 21 10

    5 6 7 8 9 图(1)

[此贴子已经被作者于2005-11-28 16:20:48编辑过]

搜索更多相关主题的帖子: 二维 
2005-11-28 16:17
wanggcc
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-11-28
收藏
得分:0 

这个我要考虑一下,如果是人为的初始化就简单很多了


2005-11-28 16:45
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

没运行过,不知道对错~

#include <stdio.h>

void main()
{

int a[10][10],i,j,k=1,m,t,n;

printf("please input n: \n");
scanf("d%",&n);

if(n>10||n<=0) //这里考虑10以内的
{
printf("input error.\n");
exit(-1);
}

t=(n+1)/2;
for(m=0;m<t;m++) //从外到里一共的圈数。
{
for(i=0+m;i<n;i++)
a[i][0+m]=k++;
for(j=1+m;j<n;j++)
a[n-1-m][j]=k++;
for(i=n-2-m;n>=0;i--)
a[i][n-1-m]=k++;
for(j=n-2-m;j>0;j--)
a[0+m][j]=k++;
n-=1;
}

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

[此贴子已经被作者于2005-11-30 1:26:05编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-28 23:12
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
不好意思,首先a[n][n]定义有点不妥...
下标不能为变量!这里n可以考虑用动态分配来控制.

好累
2005-11-28 23:46
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
我改了下,谢谢提醒

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-28 23:53
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

#include <stdio.h>

void main()
{
int a[10][10]={0},k,i=0,j=0,c=1,n;

a:printf("please input n: \n");
scanf("%d",&n);

if(n>10||n<=0)
{
printf("input error.\n");
goto a;
}
a[i][j]=1;

for(k=2;k<=n^2;k++)
{
if(i+1<n&&a[i+1][j]==0&&c)
{
a[i+1][j]=k;
i++;
}
else if(j+1<n&&a[i][j+1]==0)
{
a[i][j+1]=k;
j++;
}
else if(i-1>=0&&a[i-1][j]==0)
{
a[i-1][j]=k;
i--;
}
else if(j-1>=0&&a[i][j-1]==0)
{
a[i][j-1]=k;
j--;
c=0;
if(a[i][j-1]!=0)
c=1;
}
else
break;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
getch();
}


我是新手,有错误大家就告诉我

[此贴子已经被作者于2005-11-30 3:44:17编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-29 00:06
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
a[10][10]={0}??
楼上的朋友请先自己运行一下!我也是个新手,这道题我也很感兴趣,好晚呀,好累啊,明天还有课,有时间得好好考虑下这道题.晚安!

好累
2005-11-29 00:27
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
运行不了,电脑没装编译器~ 哈哈
a[10][10]={0}可以吧,书上有很多这么初始化的, 没赋值的元素系统补的是0

[此贴子已经被作者于2005-11-29 0:35:40编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-29 00:29
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

新学错误太多。QQ7930046,多多关照

[此贴子已经被作者于2005-11-29 0:35:16编辑过]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2005-11-29 00:30
星夜
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-11-17
收藏
得分:0 
运行不了啊

曾经自由的双子星,现已陨落。。。。。。
2005-11-29 17:57
快速回复:[求助]数组问题②
数据加载中...
 
   



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

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