首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
admin
2016-11-11
57
问题
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。
【C代码】
#include
int difference(int a[])
{ int t,i,j,max4,min4;
for(i=0;i<3;i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/
t=i;
for(j=i+1;___________(1);j++)
if(a[j]>a[t])__________(2);
if(t!=i) {
int temp=a[t]; a[t]=a
; a
=temp;
}
}
max4=___________(3);
min4=___________(4);
return max4-min4;
}
int main()
{ int n,a[4];
printf("input a positive four-digit number:");
Scanf("%d",&n);
while(n!=6174){
a[0]=__________(5); /*取n的千位数字*/
a[1]=n/100%10; /*取n的百位数字*/
a[2]=n/10%10; /*取n的十位数字*/
a[3]=__________(6); /*取n的个位数字*/
n=difference(a);
}
return 0;
}
选项
答案
(1)j<4或等价形式 (2)t=j (3)a[0]*1000+a[1]*100+a[2]*10+a[3]或等价形式 (4)a[3]*1000+a[2]*100+a[1]*10+a[0]或等价形式 (5)n/1000 或等价形式 (6)n%10
解析
本题考查C程序设计基本技能及应用。
题目要求在阅读理解代码说明的前提下完善代码。
由于C程序的执行是从main函数开始的,因此首先理解main函数的代码结构。显然,调用函数difference时实参为数组a,并且从注释中可以确定空(5)的内容为“n/1000”或其等价形式,空(6)处填写“n%10”或其等价形式。这样,数组元素a[0]~a[3]就依次保存了n值从左至右的各位数字。
接下来分析函数difference的代码结构。双重for循环是对数组a进行简单选择排序,目的是将数组中最大数字放入a[0],最小的数字放入a[3]。处理思路是通过比较找出最大数字并用t记下最大数字所在数组元素的下标,第一趟需在a[0]~a[3]中进行选择,通过比较记下最大数字的下标,最后将最大数字交换至a[0],第二趟需在a[1]~a[3]中进行选择,通过比较记下这三个数中最大者的下标,并最大者交换至a[1],依次类推。因此,空(1)处应填入“j<4”或其等价形式,以限定选择范围,空(2)处应填入“t=j”,以记下选择范围内最大者的下标。
根据题目的说明部分,显然空(3)处应填入“a[0]*1000+a[1]*100+a[2]*10+a[3]”、
空(4)处应填入“a[3]*1000+a[2]*100+a[1]*10+a[0]”,或其等价形式。
转载请注明原文地址:https://www.kaotiyun.com/show/M9jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某个字段的数据是原始数据计算的结果,该字段的宽度和小数位数对数据的精度有影响。一般来说,小数位数的确定需要考虑______。
在PowerPoint中,执行插入新幻灯片的操作后,被插入的幻灯片将出现在(53)。
操作系统的功能不包括______。
某学校有多个班,每个班有多名学生但只能有一个班长,那么班长与学生这两个实体之间的关系是(57)。
回收的问卷调查表中,很多表都有一些没有填写的项。处理缺失值的办法有多种,需要根据实际情况选择使用。对于一般性的缺值项,最常用的有效方法是(66)。
若在Excel的A1单元格中输入函数“=SUM(1,12,false)”,按回车键后,则A1单元格中显示的值为________。
在PowerPoint中单击快捷功能按钮(61)可以新建一个演示文稿。
WPS表格中有一个数据非常多的报表,打印时需要每页顶部都显示表头,可设置()。
从表1-1中为图1-1中(1)~(4)处选择合适设备名称(每个设备限选一次)。表1-2是路由器A上的地址变换表,将图1-2中(8)~(11)处空缺的信息填写在相应的位置。
随机试题
下列关于心脏病患者拔牙禁忌证的叙述,除外
A.抑制房室传导B.加强心肌收缩力C.抑制窦房结D.缩短心房的有效不应期E.加快房室传导
某工程主体结构的钢筋分项已通过质量验收,共20个检验批。验收过程曾出现1个检验批的一般项目抽检不合格、1个检验批的质量记录不完整的情况,该分项工程所含的检验批合格率为()。
证券( )后,行情信息中无该证券的信息。
案例一:你和同事去外地合作一个项目,同事为负责人,到地方后你发现你的同事与对方谈的项目计划和你的领导意图有出入,同时有纰漏之处。但是你的同事不喜欢和人沟通。案例二:你刚到单位,因为想尽快熟悉单位的工作制度和业务流程,因此每天都会很早来到办公室看一
车间在制品包括()。
甲乙文具盒内都有2支蓝色笔和3支黑色笔,现从甲文具盒中任取2支放人乙文具盒中,然后再从乙文具盒中任取2支笔,最后取出的2支笔都是黑色笔的概率是()。
“飞来峰上千寻塔”、“连峰去天不盈尺”、“白发三千丈”、“千里江陵一日还”几句诗中的“寻”、“尺”、“丈”、“里”都是古代的长度单位,按由大到小的顺序排列正确的一项是()。
A=,且n≥2,则An-2An-1=_______.
下列说法正确的是()。
最新回复
(
0
)