问题 填空题

试题二
阅读以下说明和C程序,回答问题。
[说明]
下面的程序用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");
}
}

答案

参考答案:value+1,或其等价表示

解析: 程序中空(1)处判断n的合法性,n需为奇数,矩阵规模应不超过SIZE2。所以(1)处应为n>SIZE,或其等价表示。将数值填入方阵的语句为“a[row][col]=value;”,该语句在循环中,循环条件为“value<=n*n”,所以(2)处应填入“n*n”。对于3阶魔方阵,1填入第1行第2列,2填入第3行第3列,3填入第2行第1列,其余位置按照算法步骤类推。所以(3)处填入“col++”或其等价形式,(4)处填入“col=1”或“col-=n”。程序中,本次填入的数值为value的值,下一次要填入的数值为vahle加1,因此,空(5)处应填入“value+1”。

材料分析题

阅读图表和材料并回答问题。

材料一:随着社会生产力的提高,国家经济的发展,每年夏季到来之际,各家电商家都会推出降价促销手段,不少家电开始大幅降价,降价幅度甚至超过千元。无论是国外品牌还是国内品牌,都期望凭借价格优势在激烈的市场竞争中赢得更多份额。

材料二:人民币对美元汇率走势图

受人民币汇率持续走高的影响,我国家电行业出口受到较大的影响。为缓解这一局面,我国要保持人民币汇率的基本稳定。

材料三:广东省是家电制造大省,企业众多,产能很大。当前,由于外贸出口受到严重冲击,内需不足,家电企业遇到极大困难。家电下乡对广东家电制造业,无疑是一个巨大的商机。

(1)结合材料一,运用《经济生活》的有关知识分析家电价格下降的原因。

__________________________________________________________________________________________________________________________________________________________________

(2)结合材料二,说明我国为什么要保持人民币币值的基本稳定?

__________________________________________________________________________________________________________________________________________________________________

(3)有人认为,占领农村市场是企业成功经营的法宝。请结合材料三,用《经济生活》知识评析这一观点。

__________________________________________________________________________________________________________________________________________________________________

单项选择题 A1型题