首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。 【说明】 下面的程序用DoleRob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。 a.在第一行的
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。 【说明】 下面的程序用DoleRob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。 a.在第一行的
admin
2009-05-15
59
问题
阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。
【说明】
下面的程序用DoleRob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。
a.在第一行的正中插入1。
b.新位置应当处于最近插入位置的右上方,若该位置已超出方阵的上边界,则新位置取应选列的最下一个位置;若超出右边界,则新位置取应选行的最左一个位置。
c.若最近插入的元素是N的整数倍,则选同列的下一行位置为新位置。
例如,3阶魔方阵如下所示:
8 1 6
3 5 7
4 9 2
【C程序】
#include<stdio.h>
#include<stdlib.h>
#define SIZE 50
main( )
{ int row, col, n,value;
int a[SIZE+1][SIZE+1]; /*不使用下标为0的元素*/
printf("请输入要输出魔方阵的阶数n(奇数,<%d):n=",SIZE);
scanf("%d",&n);
if (!(n % 2)||n < 1 ||(1)) {
printf("输入数据有误!\n"); exit(0);
}
row=1; col = (n+1)/2; value=1;
while(value< =(2)) {
a[row][col] = value;
/*计算下一位置*/
if(value%n !=0){
row--; (3);
if(row<1) row=n;
if(col>n)(4);
}
else row++;
value =(5);
}
printf("\n%d阶魔方阵如下所示:\n\n",n);
for(row = 1;row <= n; row++){
for(col = 1; col <=n; col++)
printf("%5d",a[row][col]);
printf("\n");
}
}
选项
答案
(1)n>SIZE,或其等价表示 (2)n*n (3)col++,或++col,或col=col+1,或其等价表示 (4)col-=n,或col=1,或其等价表示 (5)value+l,或其等价表示
解析
本题考查根据算法编写程序的基本能力。
N阶魔方阵定义为各行、列、对角线的数字之和相等。DoleRob给出了奇数阶魔方阵的算法,算法中方阵的行号和列号从1至N取值。程序中空(1)处判断n的合法性, n需为奇数,矩阵规模应不超过SIZE2。
根据题中的算法描述,由于要按次序将数值1~n2放入方阵中(在程序中以value表示每次要存入的数值),因此从1开始填入。将数值填入方阵的语句为“a[row][col]= value;”,该语句在循环中,因此循环条件为“value<=n*n”,因此,空(2)处填入“n*n”。
程序中,本次填入的数值为value的值,下一次要填入的数值为value加1,因此,空(5)处应填入“value+l”。
数值1的位置在第一行的正中间,即行号为1、列号为(n+1)/2,下一个位置即2的位置在1的右上方,即1所在位置的行号减1、列号加1。当新位置超出方阵的上边界,则新位置取应选列的最下一个位置:若超出右边界,则新位置取应选行的最左一个位置,因此对于3阶魔方阵,1填入第1行第2列,2填入第3行第3列,3填入第2行第1列,其余位置按照算法步骤b类推。因此,空(3)处填入“col++”或其等价形式,空(4)处填入“col=1或“col-=n”。需要考虑的特殊情况是本次填入的value值为N的倍数时,下一个插入位置为本次插入位置的正下方,即对于3阶矩阵,4填入3的正下方,7填入6的正下方等。
转载请注明原文地址:https://kaotiyun.com/show/FIjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
假设“EXAM.DOC”文件夹存储在“EXAM1”文件夹中,“EXAM1”文件夹存储在“EXAM2”文件夹中,“EXAM2”文件夹存储在F盘的根文件夹中,当前文件夹为“EXAM1”。那么,正确描述“EXAM.DOC”文件的绝对路径表示为(37)。
面向社会服务的信息系统突发安全事件时所采取的技术措施中一般不包括(62)________________。
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
Windows7中的文件命名规则不包括________________。
目前最常见的用户界面是________________。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
双击某个非可执行程序的文件名将(24)。
在选择多媒体数据压缩算法时需要综合考虑(24)。
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明在一台计算机上安装完成Windows2000服务器及相应的服务组件。
阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句填到对应栏内。[说明]在文本框中实现时钟显示功能,格式如下:“-年-月-日小时:分:秒星期几”[HTML文本]<html>
随机试题
关于肾盂积水,下列哪项描述正确
患者,女,28岁。妊娠38周,患心脏病。刚临产,产科情况暂无异常。心功能Ⅱ级。在宫口接近开全时,心功能仍为Ⅱ级,首先要做好的是
膀胱癌的血尿特点是
A.可可豆脂B.十二烷基硫酸钠C.卡波姆D.羊毛脂E.丙二醇常作栓剂基质的是()
男婴,1岁半。发热4天,伴咳嗽,流涕,眼结膜充血,流泪,半天前发现患儿耳后、颈部、发缘有稀疏的不规则红色丘斑疹,疹间皮肤正常,体温40℃,心肺正常。护士指导家长患儿应隔离至出疹后
地A公司和乙地B公司在丙地签订一份买卖合同,约定由B公司在丁地向A公司交货。后B公司未能按约履行合同,A公司便向人民法院提起诉讼。根据规定,该案有管辖权的人民法院是( )。
某运输企业,2011年12月成立,2012年度相关生产经营业务如下:(1)当年公路运输收入700万元,国债利息收入10万元、取得对境内非上市公司的权益性投资收益46.8万元。(2)全年营业成本为320万元;营业税金及附加23.1万元。
有一个数值311与十六进制数C9相等,则该数值是()数。
设f(χ)=χsinχ-∫0χ(χ-t)f(t)dt,其中f(χ)连续,求f(χ).
Youarerequiredtowriteanessayoffthetopic"StressinModemLife".Youshouldwritenolessthan200wordsneatly,and
最新回复
(
0
)