计算机二级改错

合集下载

国家计算机C语言二级考试改错题库

国家计算机C语言二级考试改错题库

1 下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

例如,当n 为5时,函数值应为10.407143。

f(x)函数定义如下:f(x)=(1)(2)0002(1)(2)0x x x x x x x x ⎧+/->⎪==⎨⎪-/-<⎩或请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

试题程序:#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h>/*************found**************/ f(double x)2 下列给定程序中,fun 函数的功能是:根据形参m,计算下列公式的值:t=1+1/2+1/3+1/4+…+1/m例如,若输入5,则应输出2.283333。

3 下列给定程序中,函数fun 的功能是:分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s 输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。

4 下列给定程序中函数fun 的功能是:计算正整数num 各位上的数字之积。

例如,若输入252,则输出应该是20。

若输入202,则输出应该是0。

5 下列给定程序中函数fun 的功能是:计算n!。

例如,给n 输入5,则输出120.000000。

6 下列给定的程序中,函数fun 的功能是:计算并输出k 以内最大的10个能被13或17整除的自然数之和。

k 的值由主函数传入,若k 的值为500,则函数的值为4622。

7 下列给定程序中,函数fun()的功能是:根据整型形参m 的值,计算如下公式的值:t=1-1/(22)1/(33)...1/()m m ⨯-⨯--⨯8 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。

全国计算机等级考试二级C改错题答案

全国计算机等级考试二级C改错题答案
例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。
答案:(1)double sum=0.0;(2)sum/=c;
所属年份:2011.9
下列给定程序中函数fun和funx的功能是:用二分法求方程 的一个根,并要求绝对误差不超过0.001。
例如,若给m输入-100,n输入90,则函数求得的一个根为2.000。
答案:(1)fun(int x,int y, int z) (2)return j;
所属年份:2011.3
下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。
答案:(1)char *fun(char (*sq)[M]) (2)return sp;
下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。
例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
答案:(1)long k=1;(2)num /=10;
所属年份:2010.9;2011.9;
下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。
答案:(1)return 3;(2)return 1;
所属年份:2010.9;2011.3;2011.9;
下列给定程序中,函数fun的功能是:传入一个整数m,计算如下公式的值。
t=1/2-1/3-…-1/m
例如,若输入5,则应输出-0.283333。
答案:(1)t-=1.0/i;(2)return t;
所属年份:2012.3;
下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

全国计算机二级C语言程序改错题(-100%全中必过)

全国计算机二级C语言程序改错题(-100%全中必过)

目录题目一前N项和问题 (3)题目二SS字符串问题 (4)题目三变量互换问题1 (4)题目三变量互换问题2 (5)题目三变量互换问题3 (5)题目四最大公约数问题 (6)题目五长数变短数1 (7)题目五长数变短数2 (7)题目五长数变短数3 (8)题目五长数变短数4 (9)题目五长数变短数5 (9)题目五长数变短数6 (10)题目五长数变短数7 (11)题目五长数变短数8 (11)题目五长数变短数9 (12)题目六斐波拉契数列 (13)题目七链表1 (14)题目七链表2 (15)题目七链表3 (16)题目七链表4 (17)题目八非素数问题 (19)题目九排序问题1 (19)题目九排序问题2 (20)题目九排序问题3 (21)题目九排序问题4 (22)题目九排序问题5 (23)题目九排序问题6 (24)题目九排序问题6 (25)题目九排序问题7 (26)题目十平均值问题1 (26)题目十平均值问题2 (27)题目十平均值问题3 (28)题目十平均值问题4 (29)题目十平均值问题5 (30)题目十一字符串连接1 (30)题目十一字符串连接2 (31)题目十一字符串连接3 (32)题目十一字符串连接4 (32)题目十二求和问题1 (33)题目十二求和问题2 (34)题目十二求和问题3 (35)题目十二求和问题4 (36)题目十二求和问题6 (37)题目十二求和问题7 (38)题目十二求和问题8 (39)题目十二求和问题9 (39)题目十二求和问题10 (40)题目十二求和问题11 (41)题目十二求和问题12 (42)题目十二求和问题13 (42)题目十二求和问题14 (43)题目十二求和问题15 (44)题目十二求和问题16 (44)题目十二求和问题17 (45)题目十二求和问题18 (45)题目十二求和问题19 (46)题目十三整数问题 (47)题目十四字符串逆置 (48)题目十五进制转换1 (48)题目十五进制转换2 (49)题目十六素数问题1 (50)题目十六素数问题2 (50)题目十六素数问题3 (51)题目十六素数问题4 (52)题目十六素数问题5 (53)题目十七删除字符串中指定项1 (53)题目十七删除字符串中指定项2 (54)题目十八最小公倍数问题 (55)题目十九字符串替换问题1 (55)题目十九字符串替换问题2 (56)题目二十找最长字符串 (57)题目二十一数组问题1 (58)题目二十一数组问题2 (59)题目二十一数组问题3 (60)题目二十二求平方根问题 (61)题目二十三短字符串变长字符串1 (61)题目二十三短字符串变长字符串2 (62)题目二十三短字符串变长字符串3 (63)题目二十三短字符串变长字符串4 (64)题目二十四字符串s问题1 (64)题目二十四字符串s问题2 (65)题目二十四字符串s问题3 (66)题目二十五求方程的根 (67)题目二十六求阶乘1 (68)题目二十六求阶乘2 (69)题目二十七方阵问题 (70)题目二十八查找字符串中某元素的数目 (71)题目二十九最大值问题1 (72)题目二十九最大值问题2 (72)题目二十九最大值问题3 (73)题目三十大小写转换1 (74)题目三十大小写转换2 (75)题目三十大小写转换3 (76)题目三十一:计算数字位数的问题1 (77)题目三十一:计算数字位数的问题2 (78)题目三十一:计算数字位数的问题3 (79)题目三十一:计算数字位数的问题4 (80)题目三十二统计字母数字个数问题1 (81)题目三十二统计字母数字个数问题2 (82)题目三十二统计字母数字个数问题3 (83)题目三十二统计字母数字个数问题4 (83)题目三十三对角线问题 (84)题目三十四比较字符串大小 (85)题目一前N项和问题.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。

计算机二级上机考试(程序改错题)1

计算机二级上机考试(程序改错题)1

程序编程题目1、第一大类(交换类)共7道心之所向,所向披靡2. 程序修改(第3套)给定程序中函数fun 的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。

例如变量a中的值原为8,b中的值原为3,程序运行后a中值为3,b 中的值为8./**found**/t=*x; *x=y;/**found**/return(t);2. 程序修改(第60套)给定程序中函数fun的功能是:实现两个整数的交换。

例如给a和b分别输入60和65,输出为:a=65 b=60 /**found**/void fun(int *a,int *b)/**found**/t=*b;*b=*a;*a=t;2. 程序修改(第88套)给定程序中函数fun的功能是:将主函数中两个变量的值进行交换。

例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。

/**found**/void fun(int *x, int *y)/**found**/t=*x,*x=*y,*y=t;2、第二大类(计算类)共22道2. 程序修改(第1套)给定程序中函数fun的功能是:求出以下分数序列的前n 项之和。

2/1+3/2+5/3+8/5+13/8+21/13+……和值通过函数值返回main函数。

例如n=5,则应输出:8.391667。

/**found**/double fun(int n)/**found**/s=s+(double)a/b;2. 程序修改(第6套)给定程序中函数fun的功能是:用递归算法计算列中第n 项的值。

从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……/**found**/switch(g)/**found**/case 1:case 2:return 1;2. 程序修改(第13套)给定程序中函数fun的功能是:求s=aa…aa—…—aaa—aa—a(此处aa…aa表示n个a,a和n的值在1至9之间)。

国家计算机C语言二级考试改错题库

国家计算机C语言二级考试改错题库

1 下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

例如,当n 为5时,函数值应为10.407143。

f(x)函数定义如下:f(x)=(1)(2)0002(1)(2)0x x x x x x x x ⎧+/->⎪==⎨⎪-/-<⎩或请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

试题程序:#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h>/*************found**************/ f(double x)2 下列给定程序中,fun 函数的功能是:根据形参m,计算下列公式的值:t=1+1/2+1/3+1/4+…+1/m例如,若输入5,则应输出2.283333。

3 下列给定程序中,函数fun 的功能是:分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s 输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。

4 下列给定程序中函数fun 的功能是:计算正整数num 各位上的数字之积。

例如,若输入252,则输出应该是20。

若输入202,则输出应该是0。

5 下列给定程序中函数fun 的功能是:计算n!。

例如,给n 输入5,则输出120.000000。

6 下列给定的程序中,函数fun 的功能是:计算并输出k 以内最大的10个能被13或17整除的自然数之和。

k 的值由主函数传入,若k 的值为500,则函数的值为4622。

7 下列给定程序中,函数fun()的功能是:根据整型形参m 的值,计算如下公式的值:t=1-1/(22)1/(33)...1/()m m ⨯-⨯--⨯8 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。

计算机二级等级考试C语言改错题讲解

计算机二级等级考试C语言改错题讲解

1.调试C程序时常见的错误类型分析一般情况下,错误主要分为两大类:一、语法错误。

对于这种错误,用编译器很容易解决。

所以,改错题的第一步是先编译,解决这类语法错误。

下面总结了二级C 语言上机改错题中常见的语法错误:(1)丢失分号,或分号误写成逗号。

(2)关键字拼写错误,如本来小写变成大写。

(3)语句格式错误,例如for语句中多写或者少写分号。

(4)表达式声明错误,例如:少了()(5)函数类型说明错误。

与main()函数中不一致。

(6)函数形参类型声明错误。

例如:少*等。

(7)运算符书写错误,例如:/写成了\。

二、逻辑错误,或者叫语义错误,这和实现程序功能紧密相关,一般不能用编译器发现。

对于逻辑错误可以按这样的步骤进行查找。

(1)先读试题,看清题目的功能要求。

(2)通读程序,看懂程序中算法的实现方法。

(3)细看程序,发现常见错误点。

2.改错题的改错方式总结,当然这些总结只能对大部分改错行有效。

1、若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return语句则函数的类型必须与return 后变量的类型一致。

2、若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。

3、若错误行中有if、while、for则要特别注意条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只有一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号C、for中要用分号分隔表达式,而不是用逗号4、语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。

吉林省计算机二级考试程序改错题解析.DOC

吉林省计算机二级考试程序改错题解析.DOC

*【程序改错】*题目:在XSDB.DBF中查找学生徐秋实的记录, 如果找到则将该记录* 的系别、姓名,两科科目名称和对应的成绩显示在屏幕上,否则* 显示:"查无此人!"。

答案:1). LOCATE FOR姓名="徐秋实"2). ?系别,姓名,"计算机="+★STR★(计算机),"英语="+★STR★(英语) 或 ?系别,姓名,"... 〖第2题〗『程序改错』(5分)*题目:求2!+4!+6!+…+10!的和答案:1). T=1T★*★N 或 T=★N★*★T3). S=★S★+★T 或 S=★T★+★S〖第1题〗『程序改错』(5分)*题目:有一个字符串"ABC",将其插入3个数字转换为:"A1B2C3"输出。

答案:1). A=SUBS(C1,I★,1) 或 A=SUBSTR(C1,I★,1)2). C2=★C2★+★A+★STR(I,1)*【程序改错】*题目:有学生数据库STD.DBF文件,其中学号字段的前两位是班号。

* 请编写程序MODI1.PRG:选择所有少数民族(非汉族)的学* 生参加某项活动,按民族的拼音次序升序排列,同民族的按* 照学号升序排列,并为之生成编号。

编号的前两位是班号,* 后两位是统一新编序号。

并将学号、编号、姓名、性别和* 民族添加到数据库文件BS中。

答案:1). index★on★民族★+★学号★to★std.idx2). <>3). subs(学号,1,2) +★STR(NUM,1) 或 left(学号,2) +★STR(NUM,1)〖第1题〗『程序改错』(5分)*题目:从键盘上输入5个数,将其中奇数求和,偶数求积。

答案:1). S2=12). IF MOD(M,2)<>0 或 IF MOD(M,2)#0 或 IF INT(M/2)★<>★M/2 或 IF INT(M/2)★#★...*【程序改错】*题目:求0-7这8个数字所能组成的奇数个数。

C语言计算机二级改错题

C语言计算机二级改错题

功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。

------------------------------------------------------*/#include "stdio.h"#define N 11main(){int i,j,t,number,a[N]={1,2,4,6,8,9,12,15,149,156};printf("please enter an integer to insert in the array:\n");/**********ERROR**********/scanf("%d",&number)printf("The original array:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n");/**********ERROR**********/for(i=N-1;i>=0;i--)if(number<=a[i])/**********ERROR**********/a[i]>=a[i-1];else{a[i+1]=number;/**********ERROR**********/exit;}if(number<a[0]) a[0]=number;printf("The result array:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}1.scanf("%d",&number);2.for(i=N-2;i>=0;i--)for(i=N-2;0<=i;i--)3.a[i+1]=a[i];4.break;功能:用下面的和式求圆周率的近似值。

计算机二级 改 错 题

计算机二级  改 错 题

改错题1、给定程序中fun函数的功能是:根据整型形参m的值,计算如下公式的值:例如,若m中的值为5,则应输出0.536389。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun ( int m ){ double y = 1.0 ;int i ;/**************found**************/for(i = 2 ; i < m ; i++) 改为:for(i = 2 ; i <= m ;i++)/**************found**************/y -= 1 /(i * i) ; 改为:y -= 1.0 /(i * i) ;return( y ) ;}main( ){ int n = 5 ;printf( "\nThe result is %lf\n", fun ( n ) ) ;}2、给定程序中fun函数的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

例如,当s所指字符串为“ABCD”时,则t所指字符串的内容应为“ABCDDCBA”#include <stdio.h>#include <string.h>/************found************/void fun (char s, char t) 改为:void fun (char * s, char * t){ int i, d;d = strlen(s);for (i = 0; i<d; i++) t[i] = s[i];for (i = 0; i<d; i++) t[d+i] = s[d-1-i];/************found************/t[2*d-1] = '\0'; 改为:t[2*d] = '\0';}main(){ char s[100], t[100];printf("\nPlease enter string S:"); scanf("%s", s);fun(s, t);printf("\nThe result is: %s\n", t); }3、给定程序中fun函数的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。

计算机二级C上机:程序改错题

计算机二级C上机:程序改错题

计算机二级C上机:程序改错题计算机二级C上机:程序改错题为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是店铺搜索整理的计算机二级C上机:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!程序改错题使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为150200注意:错误的语句在//******error******的下面,修改该语句即可。

提示:定义Numl为一个整型数据位长的`变量。

试题程序:#include//******error******struct{//******error******intNuml:1;intNum2;}MyStruct;voidmain(){MyStructmstr;mstr.Num1=150;mstr.Num2=15;//******error******int*ptr=&mstr.Numl;cout<<*ptr<<endl;*ptr=200;cout<<*ptr<<endl;}答案:(1)“typedefstruct”。

(2)“intNuml:32;”或“intNuml;”。

(3)“int*ptr=(int*)&mstr;”。

【解析】第1处是定义结构体,结构体定义的一般形式为struct(结构体名>{<成员列表>}(变量名列表);程序当中定义结构体名放在后面,MyStruct为结构体变量类型,相当于typedef为已有的类型定义一个新的类型,第1处应改为“typedefstruct”。

第2处是定义Numl为一个整型数据变量,整型数据位数为32(4字节),因此第2处应改成“intNuml:32;”或“intNuml;”。

ptr为整型数据指针,mstr为MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第3处应改成“int*ptr=(int*)&mstr;”,表示将mstr的地址给ptr,ptr指向MyStruct的第一个域Numl,Numl也是整型,类型一致,故可通过ptr指针来改变Numl的值。

计算机二级考试部分试题及答案讲解

计算机二级考试部分试题及答案讲解

第一套一、改错题1 .题目要求下列给定程序中函数fun的功能是:计算函数F(x, y, z)= (x + y)/(x —y) + (z+ y)/(z —y)的值。

其中x和y 的值不相等,z和y的值不相等。

例如,当x的值为9, y的值为11, z的值为15时,函数值为一3.50。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

#i nclude <stdio.h>#in clude <math.h>#in clude <stdlib.h>**********fo un d**********#defi ne FU(m, n) ((m/n)) float fun (float a,float b,float c) { float value;value=FU(a+b,a-b)+FU(c+b,c-b);**********fo un d**********Return(Value);}mai n(){ float x,y,z,sum;prin tf("I nput x y z:");scan f("%f%f%f", &x, &y,& z);prin tf("x=%f,y=%f,z=%f\n",x,y,z);if (x==y||y==z){pri ntf("Data error!\n");exit(0);} sum=fu n(x,y,z);printf("The result is : %5.2f\n",sum);}2 .算法分析①#define FU(m,n) ((m/n)) 错误这样定义FU (m,n)造成语句value=FU(a+b,a-b)+FU(c+b,c-b) 执行为value=(a+b/a-b)+(c+b/c-b) ,所以应该将语句#define FU(m,n) ((m/n))改为#define FU(m,n) (m)/(n)②语句Return(Value);错误 C 语言中大小写字母有不同的含义,此处希望执行返回value的值的操作,所以应该改为return(value);二、填空题1 .题目要求下列给定程序中,函数fun的功能是:有NXN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。

计算机等级考试二级C改错

计算机等级考试二级C改错
数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中,
若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元
素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
sum=0.0;
if ((i+1)%5==0)
4.分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入AAaaBBb123CCccccd,
1.下列给定程序中,fun函数的功能是:给定N个实数,输出平均值,并统计在平均值以
上(含平均值)的实际个数。例如,N=8时输入193.199/195.673/195.757/196.051/196.092
/195.596/195.579/196.763所得平均值为195.838745,在平均值以上的实数个数为5。
scanf("%d",&a[i][j]);
27.下列给定程序中,函数fun的功能是:根据一下公式求π值,并作为函数值返回。例如,
给指定精度的变量eps输入0.0005,应输出Pi=3.140578.
t=1.0;
while(t>=eps)
return(s*2);
tt[i]-=32;
32.下列给定程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,
然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所
指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则
只对前10个元素进行处理,不对最后的4个元素求平均值。
p=j;
p=i;
8.下列给定程序中,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第

计算机等级考试二级C语言上机改错题考点总结

计算机等级考试二级C语言上机改错题考点总结

计算机等级考试二级C语言上机改错题考点总结改错题的错误主要分为以下几类:1、if或while语句若错误行是if或者while语句,则要注意以下点:1)首先判断是否正确书写if或while关键字;2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号;3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符;4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(= =);5) 若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号;2、for语句若错误行是for语句,则要注意以下几点:1)首先判断for有没有书写正确;2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。

记住是分号(;),不是逗号(,)!3) 再者,分析for中的三个表达式,是否符合题意;第一个表达式表示起始条件,第二个表达式表示终止条件,第三个表达式表示循环变量的变化。

3、 return语句若错误行为return语句,则要注意以下几点:1)首先看是不是正确书写return关键字;2)然后看是不是缺少分号,若是则加上分号即可;3)再者判断return后的变量或表达式是否正确;这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。

4、赋值语句若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。

5、定义语句若错误行是定义语句,则要注意:1)首先分析变量类型名是否写对;2)然后分析给变量赋初值是否正确;3)若以上均不是,则看是不是少定义了某个变量或少了花括号;6、表达式错误问题:若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;若变量或表达式是整型时,则只能进行强制类型转换。

7、字符串类问题若错误行中有字符串结束符,则特别要要注意结束符有没有写错。

但是要区分清楚字符‘o’和数字’0’。

8、指针类问题若错误行中有指针变量,并且该变量名之前没有指针运算符,则一般都是加上指针运算符;9、函数首部类问题:若错误行是函数首部,则要注意:1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;2)形参和实参类型不一致问题① 若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组;③若后面用到某形参的时候有指针运算符,则该形参比为指针类型;④若形参是二维数组或指向M 个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。

计算机二级C++练习题:改错题

计算机二级C++练习题:改错题

计算机二级C++练习题:改错题计算机二级C++练习题:改错题为了使广阔考生在备战计算机等级考试时,更快的把握相应学问点,下面是我搜寻整理的计算机二级C++练习题:改错题,供参考练习,预祝考生们考出自己抱负的成果!计算机二级C++练习题:改错题使用VC6打开考生文件夹下的.工程kt7_1,此工程包含一个源程序文件kt7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:Constructor1Constructor1Constructor1DestructorConstructor2Destructorx=0x=5DestructorDestructor源程序文件kt21_1.cpp清单如下:#includeclassB{intx;public:B(){x=0;coutConstructor1ENDL;}B(inti){x=i;coutConstructor2ENDL;} ~B(){coutDestructorENDL;}/**********found**********/~B(inti){coutIBEDESTRUCTORENDL;} voidprint(){coutx=XENDL;}};voidmain(){B*ptr;ptr=newB[2];/**********found**********/ptr[0]=B(0);ptr[1]=B(5);/**********found**********/for(inti=0;i2;)ptr[i].print();[]ptr;}(1)将~B(inti){coutIp=be=(2)将ptr[0]=B(0);改为:ptr[0]=B();(3)将for(inti=0;i2;)改为:for(inti=0;i2;i++) B(inti){x=i;coutConstructor2ENDL;}~B(){coutDestructorENDL;}/**********found**********/~B(inti){coutIBEDESTRUCTORENDL;}voidprint(){coutx=XENDL;}};voidmain(){B*ptr;ptr=newB[2];/**********found**********/ptr[0]=B(0);ptr[1]=B(5);/**********found**********/for(inti=0;i2;)ptr[i].print();[]ptr;}本题主要考查对文件相关操作的娴熟程度。

天津市计算机二级C语言改错

天津市计算机二级C语言改错

1、改错:将P所指字符串中每个单词的最后一个字母改成大写if(p==’’)改为if(*p==’’)*(p-1)=toupper(*(p-1))改为*(p-1)=toupper(*(p-1));2、改错:函数fun的功能是:根据形参m(2=<m<=9)在二维数组中存放一张m行m列的表格fun(int *a int m)改为fun(int (*a)[M] int m)a[i][k]=k*j改为a[j][k]=k*j3、改错:函数fun的功能:求K!(k<13)所求阶乘作为函数值返回if k>0改为if(k>0)else if(k=0)改为else if(k==0)4、改错:函数fun的功能:根据形参m的值,计算如下公式的值。

int k改为int iy=i**i改为y-=i*i5、改错:程序运行时,输入一串字符,程序查找每一个“str”子串将其换为buf[j]=buf[j+3]改为buf[j+3]=buf[j]printf(“%c\n”,buf)改为printf(“%s\n”,buf)6、改错:统计字符串s中各原音字母(即:A、B、C、D、E)的个数,注意:不分大小写写出。

switch (*s)case’a’:’A’:改为case’a’:case’A’7、改错:求整数X的Y次方的低3位值for(i=1;i<y;i++)改为for(i=1;i<y+1;i++)t=t/1000改为t=t%10008、改错:将一无序数a1,a2,a3……a10由小到大的顺序进行排序for(i=0;i<9;i--)改为for(i=0;i<9;i++)if(a[i]<a[j])改为if(a[i]>a[j])9、改错:MODI,C程序的功能是:读入两个字符串str1和str2for(j=0;t[j]==0;j++)改为for(j=0;t[j]!=0;j++)if(s[i]=t[j])改为if(s[i]==t[j])10、改错:函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,若未找到,则函数值为NULLa=Null改为a=NULLif(r==p)改为if(*r==*p)11、改错:读入n(<=20)个只含字母和数字的字符串s(长度<20),将其中长度最大的字符串找出来并返回其首地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1改错题下列给定程序的功能是:读入一个整数K(2〈=K 〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))2改错题下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。

例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。

第1处:int k=1应改为int k=0;第2处:while(*p!=*q)应改为while(*p||*q)3改错题下列给定的程序中,函数fun的功能是:依次取出字符串中所以数字字符,形成新的字符串,并取代原字符串。

第1处:s[j]=s[i];应改为s[j++]=s[i]第2处:s[j]=”/0”;应改为s[j]=’\0’;4改错题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=6,lower=8第1处:void fun (char *s,int a,int b)应改为void fun(char *s,int *a,int *b)第2处:a++;应改为(*a)++;第3处:b++;应改为(*b)++;5改错题假定整数数列中的数不重复,并存放在数组中。

下列给顶程序中,函数fun的功能是删除数列中值为x的元素,同时将其他元素前移。

N中存放的是数列中元素的个数。

第1处:a[i+1]=a[i];应改为a[i]=a[i+1]6改错题下列给定程序中,函数fun的功能是:根据整型参m的值,计算如下公式的值。

例如,若m中的值为5,则应输出:0.536389第1处:for (i=2;i<m;i++)应改为for(i=2;i<=m;j++)第2处:y-=1/(i*i);应改为y-=1.0/(i*i)7改错题下列给定程序中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

第1处:p = j应改为p=j;第2处:p = i应改为p=j;8改错题下列给定程序中,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为eABCDFGH第1处:void fun(char *p);应改为void fun(char *p)第2处:p=q+I;应改为q=p+i;9改错题下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在行参aver所指的存储单元中。

例如,若输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64则低于平均分的学生人数为4(平均分为:75.5625).请改正程序中的错误,使程序能统计出正确的结果。

第1处:t=s[k];应改为t+=s[k];第2处:*aver=&ave;应改为*aver=ave;10改错题下列给定程序中,函数fun的功能是:将s所指字符串出现的t1所指子串全部替换成t2所指子字符串,错形成的新串放在w所指的数组中。

在此处,要求t1和t2所指字符串的长度相同。

例如,当s所指字符串的内容为abcdabfab,t1所指子串中的内容为ab,t2所指子串中的内容为99时,结果,在w所指的数组中的内容为99cd99f99。

第1处:void fun(char *s,*t1,*t2,*w)应改为void fun(char *s,char *t1,char *t2,char *w)第2处:while(r)应改为while(*r)11改错题下列给定程序中,函数FUN的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。

规定输入的字符串最多只能包含5位8进制数字。

例如,若输入77777,则输出将是32767。

12改错题下列给定程序中函数FUN的功能是:求出在字符串中最后一次出现的子符串的地址,通过函数值返回,在主函数中输出从此开始的字符串;若未找到,则函数值为NULL。

例如,当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是:abcdx。

当字符串中的内容为abcdabfabcdx,t中的内容为abd时,则程序输出未找到信息:not be found!。

第1处:a = NULL;应改为a=NULL;第2处:if(r==p)应改为if(*r==*p)13改错题下列给定程序中,FUN函数的功能是:根据形参M,计算如下公式的值。

T=1+例如,若输入5,则应输出2.283333.第1处:t += 1.0/k;应改为t+=1.0/i;第2处:应填return t;14改错题下列给定程序中,函数FUN和FUNX的功能是:用二分求方程2的一个根,并要求绝对误差不超过0.001。

例如,若出给m输入100,给n输入90,则函数求得的一个根值为2.000。

第1处:int r;应改为double r;第2处:while (fabs(n-m)<0.001)应改为while (fabs(n-m)>0.001)15改错题下列给定程序中,函数FUN的功能是:判断字符CH是否与STR所指串中的某个字符相同:若相同,则什么也不做,若不同,则将其插在串的最后。

16改错题下列给定程序中的函数Creatlink的功能是:创建带头结点的单向链表,并为各结点数据域赋0到M-1的值。

17改错题下列给定程序中,函数FUN的功能是:计算并输出K以内最大的10个能被13或17整除的自然数之和。

K的值由主函数传入,若K的值为500,则函数值为4622。

第1处:if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0))第2处:应填}18改错题下列给定程序中,函数FUN的功能是:实现两个整数的交换。

例如给A和B分别输入60和65,输出为:A=65 B=60。

第1处:void fun(int a,int b)应改为voidfun(int *a,int *b)第2处:t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t;19 改错题下列给定程序中函数FUN的功能是:从低位开始取出长整型变量S中偶数位上的数依次构成一个新数放在T中。

例如,当S中的数为7654321时,T中的数为642。

第1处:void fun(long s,long t) 应改为void fun(long s,long *t)第2处:while(s<0)应改为while(s>0)20改错题N个有序整数数列已放在一维数组中,给定下列程序中,函数FUN的功能是:利用拆半查找算法查找整数M在数组中的位置。

若找到,则返回其下标值:反之,则返回-1。

拆半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。

第1处:void fun(int a[],int m)应改为int fun(int a[],int m)第2处:if (m>=a[mid])应改为if(m>a[mid])21改错题下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。

函数FUN的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。

第1处:p=h;应改为p=h->next;第2处:p=h->next;应改为p=p->next;22改错题下列给定程序中,函数FUN的功能是:根据整型形参M,计算如下公式的值,y=1+例如,若M中的值为5,则应输出:1.463611。

23改错题下列给定程序中,函数FUN的功能是:按以下递归公式求函数值。

10 (n=1)FUN(n)=Fun(n-1)+2 (n>1)例如,当给n输入 5时, 函数值为18,当给 n输入3时, 函数值为14.第1处:int fun(n)应改为int fun(int n)第2处:if (n=1)应改为if(n==1)24改错题下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指子串的个数作为函数值返回,例如,当s所指字符串中的内容为abcdabfab,t 所指字符串的内容为ab,则函数返回整数3。

第1处:if (r==p)应改为if(*r==*p)第2处:if(r==’\0’)应改为if(*r==’\0’)25改错题下列给定程序中,函数fun的功能是:y计算n!.例如给n输入5,则输出120.000000.第1处:if n==0应改为if (n==0)第2处:resylt =n--;应改为result *=n--;26改错题下列给定程序中,函数fun的功能是,先从键盘上输入一个3行2列矩阵的各个元素的值,然后输出主对角线元素之和。

27 下列给定程序中,函数fun的功能是:根据以下公式求值,并作为函数值返回,例如,给指定精度的变量eps输入0.005时应当输出pi=3.140578。

第1处:t=0;应改为t=1.0;第2处:while(t<=eps)应改为while(t>=eps)28改错题在字符串的最前端加入n个*号,形成新串,注意:字符串的长度允许为79。

第1处:s=p;应改为p=s;第2处:应填p++;或++p;或p+=1或p=p+1第3处:a[i]=’0’;应改为a[i]=’\0’;或a[i]=0;29改错题下列给定程序中,函数fun的功能是:求出两个非0正整数的最大公约数并作为函数值,例如num1 和um2分别输入49和21,则输出的最大公约数为7,若给num1 和um2分别输入27和81,则最大公约数为27。

30改错题下列给定程序中,函数fun的功能是:计算正整数num的各位上的数字之积,例如若输入252,则输出应该是20,若输入202,则输出应该是0。

第1处:long k;应改为long k=1;第2处:num\=10;应改为num/=10;31改错题下列给定程序中,函数fun的功能是:将字符串tt中的小写字母都改成对应的大写字母,其他字符不变,例如输入Ab,cD,则输出AB,CD。

第1处:if((tt[i]>=’a’)||(tt[i]<=’z’))应改为if((tt[i]>=’a’)&&(tt[i]<=’z’))第2处:tt[i]+=32;应改为tt[i]-=32;32 改错题下列给定程序中,函数fun的功能是:s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均埴,并将这些值依次存放在w所指的数组中。

相关文档
最新文档