阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。[C代码] #include<stdio.h> int difference(inta[]) ( intt,i,j,max4,min4; for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/ t=i; for(j=i+1; ______;j++) if(a[j]>a[t]) ______; if(t!=i){ int temp=a[t]; a[t]=a[i]; a[i]=temp; } } max4=______; min4=______; return max4-min4; } int main() { intn,a[4]; printf("inputa positive four-digit number:"); scanf("%d", while(n!=6174){ a[0]= ______; /*取n的千位数字*/ a[1]=n/100%10; /*取n的百位数字*/ a[2]=n/10%10; /*取n的十位数字*/ a[3]= ______; //取n的个位数字*/ n=difference(a); } return 0; }

阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。

[C代码] #include<stdio.h> int difference(inta[]) ( intt,i,j,max4,min4; for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/ t=i; for(j=i+1; ______;j++) if(a[j]>a[t]) ______; if(t!=i){ int temp=a[t]; a[t]=a[i]; a[i]=temp; } } max4=______; min4=______; return max4-min4; } int main() { intn,a[4]; printf("inputa positive four-digit number:"); scanf("%d",&n); while(n!=6174){ a[0]= ______; /*取n的千位数字*/ a[1]=n/100%10; /*取n的百位数字*/ a[2]=n/10%10; /*取n的十位数字*/ a[3]= ______; //取n的个位数字*/ n=difference(a); } return 0; }


参考解析

解析:j<4或等价形式
t=j
a[0]*1000+a[1]*100+a[2]*10+a[3] 或等价形式
a[3]*1000+a[2]*100+a[1]*10+a[0] 或等价形式
n/1000 或等价形式
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]",或其等价形式。

相关考题:

阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]如图10-4所示是电子商务系统平台结构示意图。请把空缺的地方填写完整。

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]电子商务系统的外部社会环境如图10-5所示。请把空缺的地方填写完整。

阅读以下说明,回答问题,将解答填入答题纸的对应栏内。[说明]某电子商务网站采用ASP+SQL Server开发的电子商务网站系统,提供了商品查询、网上购物车、订单管理、后台商品管理和支付等功能。其后台修改商品页面如图6-12所示。通常,客户端浏览器不能执行(1)。(1) A.HTML代码 B.VBScript代码 C.JavaScript代码 D.ASP内置对象代码

阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式计算并返回 的近似值。【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 iyt?67kp f3g8d5.j4ia2e3p12, 则函数返回值为 67385423。

阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。以下是一段C语言代码,请仔细阅读并回答相关问题:【问题1】(6分)请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。将答案填写在答题纸的对应栏中。【问题2】(5分)画出以上代码的流程图,将答案填写在答题纸的对应栏中。【问题3】(4分)请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取值范围,将答案填写在答题纸的对应栏中.

阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【c++代码】inciude <iostream>4Finclude <stdlib. h>include <ctime>inciude <aigorithm>include <string>Using namespace stdConst string Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,”Q”,”K”}j//扑克牌点数

阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【Java代码】

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读以下C代码,回答问题(1)~(5),将解答填入答题纸的对应栏内。【说明】以下java代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Instrument)进行演奏和调音等操作。对部分乐器进行建模,其类图如题5-1所示,包括:乐器(Instrument)、打击乐器(Percussion)、弦乐器(Stringed)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)

阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。【C++代码】 #include using namespace std; class invoice{ public: (1){ cout

试题五(共 15 分)阅读以下说明和 Java 程序,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 Jave 代码实现一个简单客户关系管理系统(CrM) 中通过工厂 (Customerrfactory )对象来创建客户(Customer) 对象的功能。客户分为创建成功的客户 (realCustomer) 和空客户(NullCustomer) 。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图 5-1 所示。【Java 代码】Abstract class Customer﹛Protected String name;()boolean isNil()()String getName();﹜ Class realCustomer ()Customer﹛Public realCustomer(String name )﹛ return false; ﹜﹜ Class NullCustomer()Customer﹛Public String getName()﹛ return ″Not Available in Customer Database″; ﹜Public boolean isNil()﹛ return true; ﹜﹜ class Customerfactory {public String[] names = {"rob","Joe","Julie"};public Customer getCustomer(String name) {for (int i = 0; i getCustomer();Crs->getCustomer();Delete crs;return();﹜/*程序输出为:CustomerrobNot Available ini Customer DatabaseJulieNot Available in Customer Database

阅读以下C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。【C代码1】【问题2】写出【代码2】的运行时的输出结果。

试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单的聊天室系统(ChatRoomSystem),多个用户 (User)可以向聊天室(ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 6-1 所表示。 【C++代码】#include#include using namespace std; class User {private:string name; public:User(string name){ (1) =name;}~User(){} void setName(string name) {this->name=name; } string getName(){return name;}void sendMessage(string message); }; class ChatRoom { . public:static void showMessage(User* user, string message) { coutgetName()"] : " zhang->sendMessage("Hi! Leo!");li_>sendMessage("Hi! John!"); }void join(User* user) { (3) ("HeIIoEveryone!l am"+user->getName()); . ;} . };int main(){ChatRoomSystem*crs= (4) ; crs->startup();crs->join( (5) ("Wayne")); delete crs; }/* 程序运行结果: [John]:Hi! Leol [Leo]:Hi! John![Wayne】:Hello Everyone!Iam Wayne/*

第一题 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】对于大于1的正整数n,(x+1)n可展开为问题:1.1 【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。格式为:循环控制变量=初值,终值,递增值。

阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】 float adjustSalary(int service_year,int age,float salary) { if( service_year 30 ) salary *= 1.2; } else salary *= 2.0; return salary;} 【C代码2】 void foo(int coin) { switch (coin) { case 1: printf("Cent\n"); case 5: printf("Nicke1\n");break; case 10: printf("Dime\n"); case 25: printf("Quarter\n"); }} 【C代码3】 int getSum(int n){ int t, i = 0, sum = 0; while ( i

阅读以下C++代码,回答问题(1)~(5),将解答填入答题纸的对应栏内。【说明】以下C++代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Instrument)进行演奏和调音等操作。对部分乐器进行建模,其类图如题6-1所示,包括:乐器(Instrument)、打击乐器(Percussion)、弦乐器(Stringed)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)。

阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。

阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设[a1b1],[a2b2],...[anbn]是数轴上从左到右排列的n个互不重叠的区间(a1

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网站采用ASP+SQL Server开发,系统的数据库名为gldb,数据库服务器IP地址为202.12.34.1。打开该网站主页,如图5-1所示:【问题1】(8分,每空1分)以下是该网站主页部分的html代码,请根据图5-1将(1)~(8)的空缺代码补齐。 【问题2】(2分,每空1分)该网站采用ASP编写程序代码,在ASP内置对象中,application对象和session对象可以创建存储空间用来存放变量和对象的引用。如果在页面中设置访客计数器,应采用上述的 (9) 对象:如果编写购物车组件,应采用上述的 (10) 对象。【问题3】(5分,每空1分)以下是该网站进行数据库连接的代码conn.asp,请根据题目说明完成该程序,将答案填写在答题纸的对应位置。

阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。【问题1】(9分)以下是该后台管理登录页面login.asp的部分代码,请仔细阅读该段代码,根据图4-1 将(1)~(9)的空缺代码补齐。【问题2】(6分)1.在登录页面 login.asp 中通过导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读该段代码,将空缺代码补齐。

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】某系统在线讨论区采用ASP+Access开发,其主页如图4-1所示【问题1】(8分)以下是该网站主页部分的html代码,请根据图4-1将(1)~(8)的空缺代码补齐。l...... l ...... (1)~(8)的备选答案: A. submit B.form C.text D.textarea E. include F.action G method H.value

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】某系统在线讨论区采用ASP+Access开发,其主页如图4-1所示【问题2】(7分)该网站在主页上设置了分页显示,每页显示10条留言,以下是该网站页面分页显示部分代码,请阅读程序代码,并将(9)~(15)的空缺代码补齐。maxpage Then page= (14)End Ifrs.AbsolutePage = PageIf page = maxpage Then x = iCount - (maxpage -1) * iPageSizeElse x= (15)End If%>......(9)~(15)的备选答案:A.Clnt(page) B.exec C.maxpage D.10 E.EOF F.iPageSize G. order

阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。

阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下Java代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物件 (Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账。设计如图5-1所示类图。【Java代码】interface Item{ public void accept(Visitor visitor); public double getPrice();}class Book (1){ private double price; public Book(double price){(2);} public void accept(Visitor visitor){ //访问本元素 (3); } public double getPrice() { return price; }}//其它物品类略 interface Visitor { public void visit(Book book); //其它物品的visit方法 } class Cashier(4){ private double totalForCart; //访问Book类型对象的价格并累加 (5){ //假设Book类型的物品价格超过10元打8折 if(book.getPrice()(); public double calculatePrice() { Cashier visitor=newCashier(); for(Item item:items) { (6); } doubletotal=visitor.getTotal(); return total; } public void add(Item e) { this.items.add(e); }}

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。

阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业网络拓扑如图1-1所示,A~E是网络设备的编号。