试题二(共 15 分)阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n<1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的

题目

试题二(共 15 分)

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

[说明]

下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n<1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的 1661 是回文数。 函数 int isPalm(long m)的功能是:将正整数 m的各位数字取出存入数组中,然后判断其是否为回文数。若 m是回文数则返回 1,否则返回 0。

[C 程序代码]

#include <stdio.h>

#include <stdlib.h>

int isPalm(long m)

{ /*判断 m是否为回文数*/

int i = 0, k = 0;

char str[32];

while (m > 0) { /*从个位数开始逐个取出 m的各位数字并存入字符数组 str*/

str[k++] = (1) + '0';

m = m / 10;

}

for(i = 0; i < k/2; i++) /*判断 str中的 k 个数字字符序列是否是回文*/

if ( str[i] != str[ (2) ] ) return 0;

return 1;

}

int main( )

{

long n, a, t;

printf("input a positive integer:"); scanf("%ld",&n);

if (n < 100 || n > =1000) return -1 ;

while( (3) ) { /*n 不是回文数时执行循环*/

printf("%ld -> ", n);

for(a = 0, t = n; t > 0; ) { /*计算 n 的反序数并存入 a*/

a = (4) *10 + t % 10; t = t / 10;

} /*end of for*/

n = (5) ; /*与反序数求和*/

} /*end of while*/

printf("%ld\n",n);

system("pause"); return 0;

}


相似考题
更多“试题二(共 15 分) 阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说 ”相关问题
  • 第1题:

    阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    以下程序为求行列式X(5,5)的值S。

    【Visual Basic代码】

    Private Function col ( byval x ( 5,5 ) as integer ) as long

    dim fesult as long

    dim temp as long

    dim I as integer

    dim j as integer

    dim k as imeger

    result = 0

    for I = to 5

    (1)

    for j = 1 to 5

    if I+j>6 then

    k= ( 1+j ) mod 5

    else

    k=1

    endif

    temp=temp*x ( k,j )

    (2)

    result=(3)

    (4)

    (5)

    End function


    正确答案:(1)temp=1 (2) next I (3) result+temp (4) next I (5) col=result
    (1)temp=1 (2) next I (3) result+temp (4) next I (5) col=result

  • 第2题:

    阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

    设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。


    正确答案:(1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina
    (1) max←a (2) min←a (3) a="." (4) a>max或amax或maxa或max≤a (5) amin或a≤min或min>a或mina 解析:本题用到的三个变量及其作用分别为:a,存放读入的一行数据;max存放最高分;min存放最低分。算法首先读入文件的第一行数据a,若a为文件结束符“.”,则算法提前结束;否则为max和min赋初值a,循环读入文件其余部分,直至文件末尾。循环过程中,当某行数据a大于max时,更新max的值;当某行数据a小于min时,更新min的值。

  • 第3题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

    【说明】

    阅读下面几段C++程序回答相应问题。

    比较下面两段程序的优缺点。

    ①for (i=0; i<N; i++ )

    {

    if (condition)

    //DoSomething

    else

    //DoOtherthing

    }

    ②if (condition) {

    for (i =0; i<N; i++ )

    //DoSomething

    }else {

    for (i=0; i <N; i++ )

    //DoOtherthing

    }


    正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
    程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

  • 第4题:

    阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

    [流程图]


    正确答案:(1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0
    (1)MAX←0 (2)←L+1 (3)MAX←L (4)≠ (5)L←0 解析:本题用到的三个变量及其作用分别为:A,存放输入的一个字符;MAX,存放当前为止最长单词的长度;L,存放当前单同的长度。
    (1)使用变量MAX应先赋予初值,由上下文知其初值为0;
    (2)读取当前单词时,每读人一个字母,单词长度值L应增1;
    (3)当前单词长度L比MAX时,应更新MAX的值;
    (4)若当前字符不是句点,应当继续读取字符;
    (5)读取下一个单词前,应当重置L的值。

  • 第5题:

    ●试题一

    阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。

    【说明】

    下列流程图(如图4所示)用泰勒(Taylor)展开式

    sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…

    【流程图】

    图4

    计算并打印sinx的近似值。其中用ε(>0)表示误差要求。


    正确答案:
    ●试题一【答案】(1)x*x(2)x->t(3)|t|∶ε(4)s+2->s(5)(-1)*t*x2/(s*(s-1))【解析】该题的关键是搞清楚几个变量的含义。很显然变量t是用来保存多项式各项的值,变量s和变量x2的作用是什么呢?从流程图的功能上看,需要计算1!、3!、5!,……,又从变量s的初值置为1可知,变量s主要用来计算这此数的阶乘的,但没有其他变量用于整数自增,这样就以判断s用来存储奇数的,即s值依次为1、3、5,……。但x2的功能还不明确,现在可以不用管它。(2)空的作用是给t赋初值,即给它多项式的第一项,因此应填写"x->t"。(3)空处需填写循环条件,显然当t的绝对值小于ε(>0)就表示已经达到误差要求,因此(3)空应填入"|t|∶ε"。由变量s的功能可知,(4)空应当实现变量s的增加,因此(4)空应填入"s+2->s"。(5)空应当是求多项式下一项的值,根据多项式连续两项的关系可知,当前一项为t时,后一项的值为(-1)*t*x*x/(s*(s-1))。但这样的话,每次循环都需要计算一次x*x,计算效率受到影响,联想到变量x2还没用,这时就可以判断x2就是用来存储x*x的值,使得每次循环者少进行一次乘法运算。因此(1)空处应填入"x*x",(5)空处应填入"(-1)*t*x2/(s*(s-1))"。

  • 第6题:

    表a列出了 GSM系统中的网元设备,试从表b中选取最恰当的有关设备目的或功能的描述,将应填入(n)处的对应字母写在答题纸的对应栏内。


    正确答案:
    (1)B
    (2)D
    (3)F
    (4)E
    (5)A
    (6)I
    (7)H
    (8)G
    (9)M
    (10)K

  • 第7题:

    (a)智能网概念模型中分布功能平面模型如下图所示,请根据此图将应填入(n)处的 字句写在答题纸的对应栏内。


    正确答案:
    (1)SMF(或业务管理功能)
    (2)SCEF(或业务生成功能)
    (3)SDF(或业务数据功能)
    (4)SCF(或业务控制功能)
    (5)SSF(或业务交换功能)
    (6)CCF(或呼叫控制功能)

  • 第8题:

    下图是基于软交换的网络分层模型简图,请根据简图将应填入(n)处的字句写在答题 纸的对应栏内。(图中(6)是(4)与媒体网关交互时可以使用的控制协议)


    正确答案:
    (1)网络控制层(或控制层、呼叫控制层)
    (2)核心传送(传输)层(或传送(传输)层)
    (3)边缘接入层(或接入层)
    (4)Softswitch(或软交换)
    (5)SG(或信令网关)
    (6)MGCP(或H.248、或Megaco、或媒体网关控制协议)(写多个也对)

  • 第9题:

    图6-1是基于软交换的网络分层模型简图,其中(1)、(2)为网络层次,(3)、(4)、(5)、(6)为软交换系统中的设备,(7)(8)为软交换系统中相关设备之间的协议。请根据简图将应填入(n)处的字句写在答题纸的对应栏内,括号内的数字相同处代表同一字句,(n)相同者只计1分)。


    正确答案:
    (1)业务层(或应用层)
    (2)控制层(或呼叫控制层)
    (3)软交换设备(或软交换机)
    (4)信令网关(SG)
    (5)媒体网关(MG)
    (6)AAA服务器
    (7)SIGTRAN
    (8)SIP(或会话初始协议)

  • 第10题:

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

    【C++代码】 #include using namespace std; class invoice{ public: (1){ cout<<"This is the content of the invoice!"<

    答案:
    解析:
    (1) virtual void printInvoice() (2) ticket->printInvoice() (3) Decorator::printInvoice() (4) Decorator::printInvoice() (5) &a
    【解析】

    试题分析
    1.Invoice类下,义虛函数,按类图,函数名是printInvoice
    2.前面定义对象名是ticket,那么在ticket不为空的时候调用函数printInvoice
    3.这部分填写发票的抬头,看类图应该实现函数printInvoice ,Decorator装饰模式使用该方法
    4.这部分是发票的脚注,看类图应该实现函数printlnvoice,Decorator装饰模式使用该方法
    5.FootDecorator a(NULL) ;脚步的装饰参数是a,调用a参数,

  • 第11题:

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




    【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。


    答案:
    解析:
    注意:原版的题目应该是Cbasic、CSilve。(1) virtual double travel(int miles,FrequentFlyer* context)=0(2)context->setState(context->Cbasic)(3)context->setState(context->CSilve)(4)context->setState(context->Cbasic)(5)context->setState(context->CSilve)

  • 第12题:

    阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某文件管理系统中定义了类OfficeDoc和DocExplorer,当类OfficeDoc发生变化时,类DocExplorer的所有对象都要更新其自身的状态,现采用观察者(Observer)设计模式来实现该需求,所设计的类图如图6-1所示。



    答案:
    解析:
    1: void update()2: Observer3: obs.update()4: Subject5: Attach(this)

  • 第13题:

    阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    [说明]

    完成以下中序线索化二叉树的算法。

    [函数]

    Typedef int datatype;

    Typedef struct node {

    Int ltag, rtag;

    Datatype data;

    *lchild,* rchild;

    }bithptr;

    bithptr pre;

    void inthread ( p );

    {if

    {inthread ( p->lchild );

    if ( p->lchild==unll ) (1);

    if ( P->RCHILD=NULL) p->rtag=1;

    if (2)

    {if (3) pre->rchild=p;

    if ( p->1tag==1 )(4);

    }

    INTHREAD ( P->RCHILD );

    (5);

    }

    }


    正确答案:(1) P->LTAG=0 (2) (PRE) (3) (PRE->RTAG==1) (4) P->LCHILD=PRE (5) PRE=P
    (1) P->LTAG=0 (2) (PRE) (3) (PRE->RTAG==1) (4) P->LCHILD=PRE (5) PRE=P

  • 第14题:

    阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    [说明]

    阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。

    Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。

    (1)


    正确答案:域名(DNS)服务器
    域名(DNS)服务器

  • 第15题:

    阅读以下说明和C函数将应填入(n)处的字句写在答题纸的对应栏内

    【说明1】

    函数Counter(intn,intw[])的功能是计算整数n的二进制表示形式中的1个数同时用数组w记录该二进制数中1所在位置的权。

    例如十进制数22的二进制表示为10110.对于该二进制数,1的个数为3,在w[0]中存入2(即21)、w[1]中存入4(即22)w[2]存入16(即24)

    【C函数1】


    答案:

    解析:

    本题考查C程序控制结构的应用

    计算结束。

    从上例可知二进制数的各位是从低到高依次计算出来的。

    这样数组中的奇数全部排在偶数之前

  • 第16题:

    ●试题二

    阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    该程序运行后,输出下面的数字金字塔

    【程序】

    include<stdio.h>

    main ()

    {char max,next;

    int i;

    for(max=′1′;max<=′9′;max++)

    {for(i=1;i<=20- (1) ;++i)

    printf(" ");

    for(next= (2) ;next<= (3) ;next++)

    printf("%c",next);

    for(next= (4) ;next>= (5) ;next--)

    printf("%c",next);

    printf("\n");

    }

    }


    正确答案:
    ●试题二【答案】(1)(max-′0′)(2)′1′(3)max(4)max-1(5)′1′【解析】该程序共有9行输出,即循环控制变量max的值是从1~9。每行输出分3部分,先用循环for语句输出左边空白,(1)空填"(max-′0′)";再用循环输出从1到max-′0′的显示数字,即(2)空和(3)空分别填1和max;最后输出从max-′1′~1的显示数字,即(4)空和(5)空分别填和max-1和′1′。

  • 第17题:

    试题三(共 15 分)

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


    正确答案:

  • 第18题:

    图2-1是基于软交换的网络分层模型。请将选项应填入(n)处的字句写在答题纸对应的解答栏内。


    正确答案:
    (1)业务/应用层
    (2)控制层
    (3)接入层
    (4)媒体网关

  • 第19题:

    (1)请写出CDMA系统中干扰裕量与小区负载的关系式。

    (2)表6-2为GSM系统的网络关键性能指标(KPI)的名称和要求,请将表6-2补充完整,将应填入(n)处的字句写在答题纸的对应栏内。(3分,每空1分)


    正确答案:
    (1):η=101og[l/(l-β)]
    (2):
    (a)掉话率
    (b)切换成功率
    (c)3

  • 第20题:

    图6-1是下一代网络的体系结构简图,请根据此简图将应填入(n)处的字句写在答题纸的对应栏内。


    正确答案:
    (1)业务平面
    (2)控制平面
    (3)传输平面
    (4)接入平面
    (5)SIP-TBICC
    (6)SIGTRAN
    (7)MGCP/H.248
    (8)H.323
    (9)SIP

  • 第21题:

    下图是基于软交换的网络分层模型简图,其中(1)、(2) 为网络层次,(3)、(4)、(5)为软交换系统中的设备。请根据简图将应填入( )处的字句 写在答题纸对应的解答栏内,括号内数字相同处代表同一字句,( n )相同者只计2分)

    基于软件交换的网络分层模型简图


    正确答案:
    (1)应用层(或服务层)
    (2)网络控制层(或控制层、呼叫控制层)
    (3)软交换设备(或软交换机)
    (4)SG(或信令网关)
    (5)MG(4TG、中继媒体网关、中继网关、媒体网关)

  • 第22题:

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


    答案:
    解析:

  • 第23题:

    阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。




    答案:
    解析:
    1.void stop()2.BrakeBehavior3.wheel.stop()4.wheel=behavior5.brake()

  • 第24题:

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






    答案:
    解析: