当前位置:首页计算机类软件水平考试初级程序员->阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。[

阅读以下说明和C程序,将应填入 (n) 处的字句写在对应栏内。[说明]

下面的程序用Dole Rob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。

①在第一行的正中插入1。

②新位置应当处于最近插入位置的右上方,若该位置已超出方阵的上边界,则新位置取应选列的最下一个位置;若超出右边界,则新位置取应选行的最左一个位置。

③若最近插入的元素是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的正下方等。

更新时间:2022-10-11 07:51

你可能感兴趣的试题

单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.某非周期信号的幅值频谱
  • B.某周期信号的幅值频谱
  • C.某非周期信号的频谱
  • D.某周期信号的频谱
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.010110和22
  • B.011010和26
  • C.11010和26
  • D.10110和22
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.F=XY+y
  • B.F=y
  • C.F=XY+YZ+1,
  • D.<img src='http://tp.mxqe.com/data/746/13587812_0_1.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.<img src='http://tp.mxqe.com/data/746/13587811_0_1.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • B.<img src='http://tp.mxqe.com/data/746/13587811_0_2.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • C.<img src='http://tp.mxqe.com/data/746/13587811_0_3.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • D.<img src='http://tp.mxqe.com/data/746/13587811_0_4.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.<img src='http://tp.mxqe.com/data/746/13587810_0_1.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • B.<img src='http://tp.mxqe.com/data/746/13587810_0_2.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • C.<img src='http://tp.mxqe.com/data/746/13587810_0_3.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • D.<img src='http://tp.mxqe.com/data/746/13587810_0_4.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.图(a)
  • B.图(b)
  • C.图(c)
  • D.图(d)
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.2000
  • B.500
  • C.1000
  • D.250
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.保持功能
  • B.置“0”功能
  • C.置“1”功能
  • D.计数功能
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.<img src='http://tp.mxqe.com/data/746/13587806_0_1.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • B.<img src='http://tp.mxqe.com/data/746/13587806_0_2.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • C.<img src='http://tp.mxqe.com/data/746/13587806_0_3.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • D.<img src='http://tp.mxqe.com/data/746/13587806_0_4.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
查看答案
单选题

高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础

  • A.<img src='http://tp.mxqe.com/data/746/13587805_0_1.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • B.<img src='http://tp.mxqe.com/data/746/13587805_0_2.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • C.<img src='http://tp.mxqe.com/data/746/13587805_0_3.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
  • D.<img src='http://tp.mxqe.com/data/746/13587805_0_4.jpg' alt='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础' title='高级信息系统项目管理师,章节练习,现代技术基础信号与信息基础'>
查看答案