首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。 【说明】 设有3n+2个球互连,将自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数,如下图所示: 其中填自然数
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。 【说明】 设有3n+2个球互连,将自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数,如下图所示: 其中填自然数
admin
2010-01-15
51
问题
阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。
【说明】
设有3n+2个球互连,将自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数,如下图所示:
其中填自然数的思想如下;
(1)先自左向右,第1列中间1个填数,然后第2列上、下2个填数,每次2列;但若n为偶数,最后1次只排第1列中间一个数。
(2)自右向左,先右第1列中间填数;若n是奇数,再右第2列中间填数。然后依次右第1列上、下2个填数,再右第2列中间1个填数,直到左第2列为止。
【程序】
#include <stdio.h>
#define size 10
int a[3][size];
void main()
{
int i,k,m,n;
printf("imput the n:");
scanf("%d",&n);
k=1;
for(i=0; i<=n/2; i++)
{
a[1][2*i]=k; k++;
if((i==n/2)&& (1) ||(i<n/2))
{
a[0][2*i+1]=k;
k++;
(2)
k++;
}
}
if(n%2==1)
{
(3)
k++;
m=n;
}
else
(4)
for(i=0; i<n/2; i++)
{
a[1][m-2*i]=k; k++;
(5)
k++;
a[2][m-2*i-1]=k; k++;
}
a[1][1]=k;
printf("\n");
printf(" ");
for(i=1; i<=n; i++)
printf("%6d",a[0]
);
printf("\n\n");
for(i=0; i<=n+1; i++)
printf("%6d",a[1]
);
printf("\n\n");
printf(" ");
for(i=1; i<=n; i++)
printf("%6d",a[2]
);
printf("\n");
}
选项
答案
(1)(n%2==1) (2)a[2][2*i+1]=k; (3)a[1][n+1]=k; (4)m=n+1; (5)a[0][m-2*i-1]=k;
解析
本题考查C语言中具体算法的实现。
题目中要求将3n+2个球互连,并用自然数1~3n+2分别为这些球编号,使相连的两球编号之差的绝对值正好是数列1,2,…,3n+1中的各数。题目中还给出了具体的填自然数的思想。我们要完成的工作就是用C语言描述出题目中给出的思想。首先我们需要对其思想有个正确的认识,这是关键所在。
下面,我们来分析代码。结合整段程序代码,我们可以分析出,二维数组a用来存放我们要填的数字,第一维表示行数,总行数应该是3。第二维表示列数,总列数应该是n+2。其中的第(1)空所在的位置是表示一个条件判断语句的条件,在这之前已经对第1列的中间1个进行了填数,那么根据“先自左向右,第1列中间1个填数,然后第2列上、下2个填数,每次2列”的思想,再结合下面的填数程序语句,我们可以知道,此语句就是用来实现在先第1列中间1个填数后,对第2列上、下2个进行填数,每次2列这个思想的。因此,第(2)空的答案就出来了,是对第2列下(第3行)进行填数,因此,答案为“a[2][2*i+1]=k”。因为条件判断语句下面是进行了2次填数,因此可以判断n应该是个奇数,因为若n为偶数,最后1次只排第1列中间一个数,就不需要这个操作了。因此,第(1)空的作用应该是用来判断n是奇数,所以此空答案为 (n%2==1)。
第(3)空所在的位置在条件n%2==1成立的情况下才执行,条件n%2==1成立表明 n是奇数,根据若n是奇数,再右第2列中间填数的思想,我们可以知道,此处应该是对右第2列中间填数,因此,答案为a[1][n+1]=k。
第(4)空所在的位置是条件n%2==1不成立的情况下才执行,在上面我们知道 n%2==1是用来判断n是否为奇数,如果n不是奇数,我们不做什么,但为了方便后面的操作,应该将n+1的值保存起来,因此,此空的答案为m=n+1。
根据思想:若n是奇数,再右第2列中间填数。然后依次右第1列上、下2个填数,再右第2列中间1个填数,直到左第2列为止。在前面程序中,我们已经完成了前面部分,第(5)空所在的循环体就是用来完成后面部分的,在循环体中已经实现了对中、下进行填数,缺一个对上进行填数的代码,因此,第(5)空要完成的任务就是对上行进行填数,因此,答案为a[0][m-2*i-1]=k。
转载请注明原文地址:https://kaotiyun.com/show/9BjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
信息系统运行过程中的数据备份工作不包括________________。
________________不会是信息系统的功能。
在Word2010文档中,某个段落最后一行只有一个字符,()不能把该字符合并到上一行。
()是一种保护数据的安全策略,该策略使用户只能感知自己将用到的信息,对于其他信息都加以屏蔽和保护,使信息泄露、数据完整性受到损害的可能性最小。
某机构准备发布中国互联网发展年度报告。报告分四个方面:全网概况、访问特征、渠道分析和行业视角。用户24小时上网时间分布应属于()方面的内容。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
在Excel中,A1:C3区域中各单元格的值都为10,如果在D1单元格中输入公式“=SUM(A1,C3)”,则D1单元格中显示的值为(58)。
某玩具厂5个月内生产熊猫玩具的产量统计如下。一、二月的产量相同,则一、二月的产量为______。[*]39
某企业准备对正在实施的各个项目进行期中评估,对每个项目评出重要性和满意度两个参数。信息处理技术员小王根据各个项目的参数制作了如下的平面分布图,用圆点标记了各项目的位置,并划分了I、Ⅱ、Ⅲ、Ⅳ四个区域。()区属于优先改进区,企业应对其中的项目优先支持
在WPS2016电子表格中,如果单元格A2到A50中存储了学生的成绩(成绩取值在0~100之间),若要统计小于60分学生的个数,正确的函数是___________。
随机试题
宪法关系的内涵包括()
钩虫病患者粪便中可见
属于国家科学技术秘密的中医药科技成果,确需转让、对外交流的,应当符合有关
协调性子宫收缩乏力表现为
3月4日江城市公安局对嫌疑人刘某提请逮捕,可市检察院认为证据不足,作出不批准逮捕的决定,3月8日市公安局认为决定有错误,申请复议,3月12日市检察院复议维持原决定,省检察院于3月14日收到江城市公安局的提请复核意见书,省检察院应当在哪日以前作出复核决定:
甲公司为境内上市公司,专门从事能源生产业务。20×5年,甲公司发生的企业合并及相关交易或事项如下: (1)20×5年2月20日,甲公司召开董事会,审议通过了以换股方式购买专门从事新能源开发业务的乙公司80%股权的议案。20×5年3月10日,甲公司、乙公
有些人若某一次厌食,会对这次膳食中有特殊味道的食物产生持续强烈的厌恶,不管这种食物是否对身体有利。这种现象可以解释为什么小孩更易于对某些食物产生强烈的厌食。以下哪项如果为真,最能加强上述解释?
健康理念的培育、传统文化的传承是__________的基础性工作。我们在中学校园__________中医药文化,只是拾起了中华文明宝库中的一把钥匙。但或许就是因为这把钥匙,有学生就__________了“上医医国”“不为良相愿为良医”的人生观;有学生就愿意
如果8251A的方式字寄存器的地址为2F1H,则它的控制字寄存器的地址为( )。
A—AcquisitioncostJ—CreditlevelB—ActualcostsK—CustomerrelationshipmanagementC—ArrivalnoticeL—DutyfreezoneD—Balance
最新回复
(
0
)