首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数
admin
2016-11-11
40
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
通常情况下,通过Windows任务栏不能直接完成的操作有(37)。
某商场记录(统计)销售情况的数据库中,对每一种商品采用了国家统一的商品编码。这种做法的好处不包括(11)________________。
在Word中可以用“编辑”→“定位”命令对需要寻找的位置进行快速定位,(48)不属于定位目标。
某学校有多个班,每个班有多名学生但只能有一个班长,那么班长与学生这两个实体之间的关系是(57)。
在Access2007中,若要想查询所有姓名为2个汉字的学生记录,应在准则中输入______。
在用户界面上鼠标操作的功能不包括___________。
在Word文档中某一段落的最后一行只有一个字符,若想把该字符合并到上一行,___________不能做到。
现在,企业数字化转型已是大势所趋。以下关于企业数字化转型的叙述中,不正确的是_________。
请认真阅读下列有关Linux操作系统环境下配置成一台DNS服务器的说明信息,然后根据要求回答问题1至问题5。【说明】一台装有Linux操作系统的电脑,IP地址是“192.168.0.39’’,主机名是dnserver。现在要在这台电脑上配置成一台
随机试题
简述类图中的重复度与ER图中实体的基数的区别。
按沟通者有无地位转移,可将沟通分为()。
1935年12月,中国共产党制定抗日民族统一战线政策的会议是()
构成传染病流行过程的三个基本条件是
A.山药B.水蛭C.阿胶D.鳖甲E.骨碎补用滑石粉炮制的是()
滑动轴承适用于( )和结构上要求剖分的场合。
下列关于设立证券公司的条件,正确的有()
请说明股利分红的三点好处。你认为近些年来创业板支付较高的现金股利会成为常态吗?为什么?
下列入侵检测系统结构中,能够真正避免单点故障的是()。
HowAdvertisementIsDone?A)Whenwechooseawordwedomorethangiveinformation;wealsoexpressourfeelingsaboutwha
最新回复
(
0
)