首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下: 1 16 15 1
阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下: 1 16 15 1
admin
2010-01-15
30
问题
阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。
【说明】
本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下:
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
【C++代码】
#include"stdio.h"
#include"iostream,h"
int array[11][11];
int temp;
int ROW;
void godown(int &m,int &a)
{
for(temp=1; temp<=ROW;temp++)
if(array[temp][a]==0)
array[temp][a]=(1);
a++;
}
void goright(int &m,int &b)
{
for(temp=1;temp<=ROW;temp++)
if(array
[temp]==0)
array
[temp]=m++;
b--;
}
void goup(int &m.int &c)
{
for(temp=ROW;temp>0;temp-)
if(array[temp][c]==0)
array[temp][c]=m++;
c--;
}
void goleft(int &m,int &d)
{
for(temp=ROW;temp>0;temp--)
if(array[d][temp]==0)
array[d][temp]=m++;
(2);
}
void main()
{
int a,b,c,d,max,m;
cin>>ROW;
cout>>end1;
for(a=1;a<=ROW;a++)
for(b=1;b<=ROW;b++)
(3);
m=1;
a=d=1;
b=c=ROW;
max=(4);
whiie(m<=max)
{
godown(m,a);
(5) (m,b);
goup(m,c);
goleft(m,d):
}
for(a=1;a<=ROW;a++)
{
for(b=1;b<=ROW;b++)
printf("%3d ",array[a]
);
cout<<end1;
}
}
选项
答案
(1)m++ (2)d++ (3)array[a][b]=0 (4)ROW*ROW (5)goright
解析
本题考查C++中螺旋方阵的实现。
题目要求在用户输入该方阵的行列数后,自动生成对应的螺旋方阵。首先我们来简单分析一下螺旋方阵的特点,顾名思义,其基本结构是成螺旋形状的,按照螺旋的方向数值逐渐增大,直到最中间的一点结束。程序中分别用4个函数来实现其螺旋方向向下、向右、向上和向左时,数组中相应元素的变化,结合程序可以发现数组的初值是全0。
第(1)空在螺旋方向向下的实现函数中,当螺旋方向向下时,二维数组中列不变而逐行加1,从程序中可以看出此空所在行的作用就是用来改变数组中元素的值,结合整个程序知道变量m中存放的是当前位置的数值,因此,此空答案为m++。
第(2)空在螺旋方向向左的实现函数中,当螺旋方向向左时,二维数组中行不变而随列下标temp的变化逐列加1,直到数组元素不为0,这个时候说明已经到了被螺旋线经过的列,因此,要往后退一列即列下标变量d加1,此空答案为d++。
第(3)空在一个二重循环下面,程序声明了一个二维数组且没有初值,结合程序可以推断出此空的任务就是给数组赋初值。而根据上面的分析,数组的初值应该是全0,因此,此空答案为array[a]
=0。
第(4)空很明显是给变量max赋初值,这要求先去弄清楚变量max的作用。由语句while(m<=max)我们可以推断出变量max中存放的是最大的数据项,而一个n阶的方阵中最多有n×n个元素,从程序中可以知道,这是一个ROW阶的方阵,因此,此空答案为ROW*ROW。
第(5)空是调用上面的4个函数,根据螺旋方阵的生成规则,应该是先向下,接着向右,再向上,最后向左,结合程序我们知道此空是调用向右的函数。因此,此空答案为goright。
转载请注明原文地址:https://jikaoti.com/ti/KXW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某企业要求将各销售部门上月的销售额制作成图表。________________能直观形象地体现各销售部门的业绩以及在企业总销售额中的比例。
台式计算机在设定的等待时间内,如果用户没有进行任何操作,将启动________________。
数据________________是将数据以图形图像形式表示,并利用数据分析工具发现其中未知信息的处理过程。
企业实现移动信息化的作用不包括________________。
在D盘中有一个文件,其文件名为“D:\信息处理技术员.DOC”,现需要在桌面上建立该文件的快捷方式,可用鼠标右键单击该文件图标,然后______。
关于ADSL接入技术,下面的论述正确的是(15)。
在Excel中,A1:C3区域中各单元格的值都为10,如果在D1单元格中输入公式“=SUM(A1,C3)”,则D1单元格中显示的值为(58)。
文件的扩展名可以说明文件类型。下面的“文件类型一扩展名”对应关系错误的是:
在Excel中,为标识一个由单元格B3、B4、C3、C4、D4、D5、D6、D7组成的区域,下列选项中,正确的是______。
下列选项中,不属于Word中段落对齐方式的是(41)。
随机试题
A.《外台秘要》B.《古今录验》C.二者均是D.二者均非(2001年第117,118题)“渴而饮水多,小便数,无脂,似麸片甜者,皆消渴病也。”出自何书()
Iwanttousethesametools______usedinyourfactoryafewdaysago.
但坐不得卧,卧则气逆可见于
不属于济川煎组成药物的是
反跳伤最主要的特点是()
下列敷设方式中属于管沟敷设的是()。
钢管混凝土中承式拱桥是根据()划分的。
A.inthefutureB.noxiousC.demandsD.intensifiedPhrases:A.Waterproblems【T13】______willbecomemoreintenseandmoreco
下列关于RPR技术的描述中,错误的是()。
Childrenloamalmostnothingfromtelevision,andthemoretheywatch,thelesstheyremember.Theyregardtelevisionpurely【71】
最新回复
(
0
)