首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
admin
2016-11-11
66
问题
阅读以下说明和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://kaotiyun.com/show/M9jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。65
在编辑Word2007文档时,若多次使用剪贴板移动文本内容,当操作结束时,剪贴板中的内容为__________。
在大型分布式信息系统中,为提高信息处理效率,减少网络拥堵,信息存储的原则是:数据应尽量(66)________________。
某企业的大数据工程项目包括如下四个阶段的工作:①数据获取,②数据清洗与整理,③数据分析,④数据展现。一般来说,工作量较大、花费时间较长的阶段是______(1),技术含量最高的阶段是______(2),准备向有关部门递交成果的阶段是______(3)。
在Word2003中,若需在一张8开纸上打印两页16开文档,则恰当的打印方式是(38)。
企业信息化总体架构中,计算机硬件、网络系统、操作系统、数据库管理系统等属于(16)。
Windows操作系统通过(7)来判断文件是不是一个可执行文件。
张、王、李三个平等的评委独立对三部电影甲、乙、丙进行了评分(三人的满分标准不同),结果如下表:按合理的平均得分计算,第一、二、三名电影应分别授予(69)。
在Excel2010中,为将数据单位定义为“万元”,且带两位小数,应自定义()格式。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
随机试题
新生儿生后的护理主要是
A.青霉素B.氨茶碱C.洋地黄D.地塞米松E.色甘酸预防哮喘发作可选用
多食易饥,形体消瘦,大便干燥,舌苔黄,脉滑实有力者,治疗可用
A.肝阳化风证B.热极生风证C.阴虚动风证D.血虚生风证E.破伤风证
北京某企业实行海关B类管理的企业由境外免费提供3000美元的垫肩用于服装加:贸易,该批垫肩合同备案的手续应当是()。
城镇职工基本医疗保险的覆盖范围包括()。
金砖国家领导人第四次会晤于2012年3月28日在印度新德里举行,为了深入了解金砖五国经济社会发展的基本情况,根据国家统计局《金砖国家联合统计手册(2011)》;列表如下:我国人均外汇储备在金砖国家中排在第几位?()
根据下述材料,回答下面题。波斯纳等人曾经做过字母的视觉匹配和名称匹配的实验。他们的实验采用两种实验方法,让被试辨别两个字母是否相同。一个是同一性匹配,即两个字母读音和书写都一样,如A、A;一个是命名匹配,即两个字母读音相同而书写不同,如A、a,两
It’sbecomingsomethingofajokealongtheMaine-Canadaborder.Somanybusloadsofretiredpeoplecrisscrossthelinelooking
Todayourknowledgeoffoodandwhatitdoesforourbodiesisfarmoreadvancedthanthatoftheoldtimes.Nowweknowaboutv
最新回复
(
0
)