试题二(共15分)阅读以下说明和C程序代码,将解答写在答题纸的对应栏内。【说明】下面是一个待修改的C程序,其应该完成的功能是:对于输入的一个整数num,计算其位数k,然后将其各位数字按逆序转换为字符串保存并输出。若num为负整数,则输出字符串应有前缀“-”。例如,将该程序修改正确后,运行时若输入“14251”,则输出“15241”;若输入“-6319870”,则输出“-0789136”。下面给出的C程序代码中有五处错误,请指出错误代码所在的行号并给出修改正确后的完整代码行。【C程序代码】

试题二(共15分)

阅读以下说明和C程序代码,将解答写在答题纸的对应栏内。

【说明】

下面是一个待修改的C程序,其应该完成的功能是:对于输入的一个整数num,计算其位数k,然后将其各位数字按逆序转换为字符串保存并输出。若num为负整数,则输出字符串应有前缀“-”。例如,将该程序修改正确后,运行时若输入“14251”,则输出“15241”;若输入“-6319870”,则输出“-0789136”。

下面给出的C程序代码中有五处错误,请指出错误代码所在的行号并给出修改正确后的完整代码行。

【C程序代码】


相关考题:

以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135 则输出 531 。请填空。#include stdio.hmain(){ int n,s;printf("Enter a number : "); scanf("%d",n);printf("Output: ");do{ s=n%10; printf("%d",s); 【 10 】 ; }while(n!=0);printf("\n");}

●试题六阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】单击窗体上的"测试"(cmdTest)按钮,出现一个输入框,要求输入一串字符,将该字符串中的非字母字符删除后,显示在窗体中的一个文本框(txtShow)中。【程序代码】Private Sub cmdTest_Click()Dim strT1,strT2 As StringDim strCh As (1)Dim intL As IntegerDim intI As IntegerstrT1= (2) ("请输入一串字符","字符串输入")intL= (3)strT2=″″For intI=l To intLstrCh=Mid(strT1,intI,1)If(strCh"A"And (4) ) Or (strCh"a" And suCh"z")ThenstrT2=strT2+strChEnd IfNext intItxtShow.Text= (5)End sub

( 9 ) 下面的程序执行时 , 可以从键盘输入一个正整数 , 然后把该数的每位数字按逆序输出 。 例如 : 输入 7685 ,则输出 5867 ,输入 1000 ,则输出 0001 。请填空。Private Sub Command1_Click()Dim x As Integerx=InputBox( “ 请输入一个正整数 ” )While x_ _[11] ___Print x Mod 10;x=x\10WendPrint__ [12] __End Sub

在下面的程序代码中,a是整型全局变量,b是整型局部变量,x是整数形参,若调用com()时以引用调用的方式传递信息,则输出结果为(43);若调用com()时以传值的方式传递信息,则输出结果为(44)。A.8B.12C.14D.16

下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。例如:输入352,则输出应该是38;若输入328,则输出应该是77。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>include <conio.h>long fun(long num){/*+**+*+*+*found************/long k=1;do{k+=(num%10)*(num%10);num/=10;/*********+found*+**+*+******/}while(num)return(k);}main(){long n;clrscr();printf("\Please enter a number:");scanf("%ld",n);printf("\n%ld\n",fun(n));}

下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5 8 6 7;输人1000,则输出0 0 0 1。请填空。 Private Sub Command1_Click Dim x As Integer X=InputBox(“请输入一个正整数”) While x 【11】 Print x Mod 10; x=x\10 Wend Print 【12】 End Sub

阅读以下技术说明、流程图和C程序,根据要求回答问题1和问题2。【说明】如图6-13所示的程序流程图描述了对8位二进制整数求补的算法。该算法的计算过程如下:从二进制数的低位(最右位)开始,依次向高位逐位查看,直到首次遇到“1”时,停止查看。然后,对该“1”位左面的更高位(如果存在的话),逐位求反,所得的结果就是对原二进制数求补的结果。例如:对二进制整数10010110求补的结果时01101010。设8位二进制整数中的各位,从低位到高位,依次存放在整型数组BIT的BIT[1]~BIT[8]中。例如,二进制整数10010110存放在数组BIT后,则有BIT[1]=0,BIT[2]=1,…,BIT[7]=0,BIT[8]=1。若流程图中存在空操作,则用NOP表示。以下待修改的【C程序】完成的功能是:对于给定的1个长正整数,从其个位数开始,每隔一位取1个数字(即取其个位、百位和万位等数字),形成1个新的整数并输出。例如,将该程序修改正确后,运行时若输入“9753186420”,则输出的整数为“73840”。【C程序】行号 C代码01 include <stdio.h>02 int main()03 { long n,num;04 int i;05 do {06 printf("请输入一个正整数:");07 scanf("%1d",n);08 }while(n<=0);09 k = 1;10 for (i=1;n>=0;i++) {11 if (i%2=1) {12 num = num + (n%10)*k;13 k = k*10;14 }15 n = n/10;16 }17 printf("新数据为:%d\n",num);18 return 0;19 }请将图6-13流程图中(1)~(5)空缺处的内容补充完整。其中,(1)空缺处按“循环变量名:循环初值,增量,循环终值”格式描述。

下列过程的功能是:从键盘输入一个大于2的整数,输出小于该整数的最大质数。( )。例如,输入20,则输出l9,输入10,则输出7。为实现指定功能,程序【】处应填写的语句是( )。A.k—k+1B.X=X一1C.X—X/kD.k—k一1

给定程序MODll.C中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。例如,若输入:edcba,则应输出:abcde。请改正程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

下列给定程序中,函数proc()的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若proc()返回1,则输出″YES″;若proc()返回0,则输出″NO″!请修改程序中的错误,使它能得出正确的结果。注意:不要改动main)函数,不得增行或删行,也不得,t更改程序的结构。试题程序:

请编写一个函数proc(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。例如,若输入字符串“1234”,则函数把它转换为整数值1234。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

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

阅读以下说明和C程序,填充程序中的空缺,将解答填入答题纸的对应栏内。【说明】正整数n若是其平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,76是其平方数5776的尾部,6与76都是同构数。下面的程序求解不超过10000的所有同构数。已知一位的同构数有三个:1,5,6,因此二位同构数的个位数字只可能是1,5,6这三个数字。依此类推,更高位数同构数的个位数字也只可能是1,5,6这三个数字。下面程序的处理思路是:对不超过100 00的每一个整数a,判断其个位数字,若为1、5或6,则将a转换为字符串as,然后对a进行平方运算,并截取其尾部与as长度相等的若干字符形成字符串后与as比较,根据它们相等与否来断定a是否为同构数。【C程序】includestdio.hincludestdlib .hincludestring .hint myitoa (int, char*); ,/*将整数转换为字符串*//* right取得指定字符串尾部长度为ler gth的子串,返回所得子串的首字符指针*/char *right (char*, int length);int main (){int a, t; int len;char as [10], rs[20];printf(”[1,10000]内的同构数:\r”);for (a=l.a=10000; a++) {t= (1); /*取整数a的个位数字*/if (t!=l&&t!=5&&t!=6) :ontinue;len=myitoa (a, as)j /*数a转换为字符串,存入as*/myitoa (a*a, rs); /*数a的平方转换为字符串,存入rs*//*比较字符串as与rs末尾长度为len的子争是否相等*/if(strcmp(as,__(2) )**o) /*若相同则是同构数并输出*/printf(“%s的平方为%s\n”,as,rs);}return O;}int myitoa (int num,char*s) /*将整数num转换为字符串存入s*/{int i,n=0;char ch;/*从个位数开始,取num的每一位数字转换为字符后放入s[]*/while (num) {s[n++] =(3) +’o;num=num/10.}s[n]=’\0 ‘;for (i=0; in/2; i++){ /*将s中的字符串逆置*/(4) ; s[i]= s [n-i-l];s[n-i-1]=ch;}return n; /*返回输入参数num的位数*/}char *right (char*ms, int length)/*取字符串ms尾部长度为length的子串,返回所得子串的首字符指针*/{int i;For(;*ms;ms++) /*使ms到达原字符串的尾部*/for( i=0; ilength. (5) ; /*使ms指向所得子串的首部字符*/return ms;}

试题二 ( 共15 分)阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。【 问题1 】分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。【C程序】【 问题2】函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。【C 函数】

阅读以下说明和C语言函数,将解答填入对应栏内。【说明】下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。下面给出的C程序代码中有五个错误,请指出所有的错误。【C程序代码】01 include <stdio.h>0203 int main()04 {05 long n, num;06 int i;0708 do {09 printf("请输入一个正整数:");10 scanf("%ld", n);11 }while(n <= 0);12 k = 1;13 for (i = 1; n >= 0; i++) {14 if (i % 2 = 1) {15 num= num+ (n % 10) * k;16 k = k * 10;17 }18 n = n / 10;19 }20 printf("新数据为: %d \n",num);21 return 0;22 }

试题二(共 15 分)阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511 相加,得到的 1661 是回文数。 函数 int isPalm(long m)的功能是:将正整数 m的各位数字取出存入数组中,然后判断其是否为回文数。若 m是回文数则返回 1,否则返回 0。[C 程序代码]#include stdio.h#include stdlib.hint 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;}

阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。【问题 1】分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。 【C 程序】【问题 2】函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。【C 函数】

()反映了模块的外部特征。A、输入/输出和程序代码B、输入/输出和逻辑功能C、逻辑功能和程序代码D、程序代码和物理结构

输入一个整数,输出其符号(若x=0,输出1,若x

编写一函数reverse实现一个字符串按反序存放,要求在主函数main中输入字符串,并输出反序后的字符串。不能使用strlen库函数。      例如:输入string,则输出gnirts。

若A、B为输入端,Y为输出端的“与”门电路下面说法正确的是()。A、若A输入0,B输入0,则Y输出0B、若A输入0,B输入1,则Y输出0C、若A输入1,B输入0,则Y输出0D、若A输入1,B输入1,则Y输出1E、若A输入0,B输入0,则Y输出1

若A、B为输入端,Y为输出端的两输入“与非”门电路下面说法正确的是()。A、若A输入0,B输入0,则Y输出1B、若A输入0,B输入1,则Y输出0C、若A输入0,B输入0,则Y输出0D、若A输入1,B输入0,则Y输出0E、若A输入1,B输入1,则Y输出0

在结构化设计中,首先关心的是外部特性,包括()。A、输入和输出、功能B、内部数据、程序代码C、输入和输出、程序代码D、功能、内部数据

问答题输入一个整数,输出其符号(若x=0,输出1,若x

单选题()反映了模块的外部特征。A输入/输出和程序代码B输入/输出和逻辑功能C逻辑功能和程序代码D程序代码和物理结构

单选题在结构化设计中,首先关心的是外部特性,包括()。A输入和输出、功能B内部数据、程序代码C输入和输出、程序代码D功能、内部数据

问答题编写一函数reverse实现一个字符串按反序存放,要求在主函数main中输入字符串,并输出反序后的字符串。不能使用strlen库函数。      例如:输入string,则输出gnirts。