程序改错
1、下列中有8大题,081班做前4题,082班做后四题。
2、程序改错题的要求是:原有语句不变,将正确语句用红色字体写在错误语句的右
侧,在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
3、交作业时,文件名类似为“公事管08212***”,发到相应的班级文件夹下的题号
文件夹下。
1、程序改错(5分)
下列程序的功能是计算分数数列2/1,3/2,5/3,……,m/n,m+n/m的前20项之和。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nSum=0
m=2 &&数列中第一项的分子
n=1 &&数列中第一项的分母
FOR x=1 TO 20
nSum=nSum+m/n
y=m
m=m+n
n=y
ENDDO(endfor)
WAIT WINDOWS '前20项之和为'+STR(nSum,10,2)
2、程序改错(5分)
下列程序的功能是统计所有的“水仙花数”的个数,“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,例如:153=13+53+33)。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nCount=0
FOR n=100 TO 999 &&
n1=VAL(SUBS(STR(n,3),3,1))
n2=VAL(SUBS(STR(n,3),2,1))
n3=VAL(SUBS(STR(n,3),1,1))
IF n=n1^3+n2^3+n3^3
nCount=nCount+1
ENDIF
ENDFOR
WAIT WINDOWS '“水仙花数”的个数为',nCount
3、程序改错(5分)
下列程序的功能是统计一个字符串中包括多少个汉字(假设这些汉字均属于GB2312字符集),其基本算法是从字符串中依次取一个字符,如果其ASCII码值大于127,则为一个汉字内码的第一个字节。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
cString='微软(Microsoft)公司开发的视窗(Windows)操作系统' &&赋初值
nCount=0
DO WHILE LEN(cString)!=0
IF ASC(LEFT(cString,1))>127
nCount=nCount+1
cString=SUBSTR(cString,3)
ELSE
cString=SUBSTR(cString,2)
ENDIF
ENDDO
WAIT WINDOWS '汉字个数为'+STR(nCount)
4、程序改错(5分)
下列程序用于计算数列1,1/2,1/3,1/4,1/5,……,1/n之和,当某一数列项的值小于0.01时停止计算。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
SET DECIMAL TO 2
n=1
nSum=0
DO WHILE .T.
IF 1/n<0.01
exit
ENDIF
nSum=nSum+1/n
n=n+1
ENDDO
WAIT WINDOWS '该数列之和为'+STR(nSum,10,2)
5、程序改错(5分)
下列程序的功能是:将一个字符串中的各个单词的首字母组成其缩写形式(大写字母),其中,
字符串由多个英文单词组成且各单词之间用一个空格分隔,例如,对于字符串“central processing unit”,生成其缩写形式“CPU”。其基本算法为:字符串左边加一个空格,然后依次检查字符串的每一个字符,如果该字符为字母且左边为空格,则该字母为首字母。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
cString='central processing unit' &&赋初值
cString=SPACE(1)+UPPER(cString)
cResult=SPACE(0)
FOR n=2 TO len(cString)
c=SUBSTR(cString,n,1)
IF BETWEEN(c,'A','Z') AND SUBSTR(cString,n-1,1)=SPACE(1)
cResult=cResult+c
ENDIF
ENDFOR
WAIT WINDOWS '缩写形式为'+cResult
6、程序改错(5分)
下列程序的功能是将二进制数转换成十进制数表示。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nNumber=1011001 &&赋初值(认定它为二进制数)
cNumber=ALLTRIM(STR(nNumber))
nResult=0
FOR n=LEN(cNumber) TO 1 step -1
c=LEFT(cNumber,1)
IF c='1'
nResult=nResult*2+1
ELSE
nResult=nResult*2
ENDIF
cNumber=SUBSTR(cNumber,2)
ENDFOR
WAIT WINDOWS '十进制数表示为'+STR(nResult)
7、程序改错(5分)
下面的程序是用于将十进制数转换成二进制数表示。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nNumber=37 &&赋初值(十进制数)
cResult=SPACE(0)
IF nNumber!=0
DO WHILE nNumber>0
n=MOD(nNumber,2) &&余数
nNumber=INT(nNumber/2)
cResult=STR(n,1)+cResult
ENDDO
ELSE
cResult='0'
ENDIF
WAIT WINDOWS '二进制数表示为'+ cResult
8、程序改错(5分)
下列程序的功能用于计算1~100之间的质数的个数(注:质数是指只能被1和自身整除的自然数)。要求:
①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nCount=0
FOR m=1 TO 100
bzs=.T.
FOR n=2 TO 9
IF MOD(m,n)=0 AND m#n
bzs=.F. &&不是质数
exit
ENDIF
ENDFOR
IF bzs
nCount=nCount+1
ENDIF
ENDFOR
WAIT WINDOWS '1~100之间的质数的个数为'+STR(nCount)
2018年全国统一高考生物试卷(新课标Ⅱ) 一、选择题:本题共6小题,每小题6分,共36分,在每小题给出的四个选项中,只有一项是符合题目要求的。 1.(6.00分)下列关于人体中蛋白质功能的叙述,错误的是() A.浆细胞产生的抗体可结合相应的病毒抗原 B.肌细胞中的某些蛋白质参与肌肉收缩的过程 C.蛋白质结合Mg2+形成的血红蛋白参与O2运输 D.细胞核中某些蛋白质是染色体的重要组成成分 2.(6.00分)下列有关物质跨膜运输的叙述,正确的是() A.巨噬细胞摄入病原体的过程属于协助扩散 B.固醇类激素进入靶细胞的过程属于主动运输 C.神经细胞受到刺激时产生的Na+内流属于被动运输 D.护肤品中的甘油进入皮肤细胞的过程属于主动运输 3.(6.00分)下列有关人体内激素的叙述,正确的是() A.运动时,肾上腺素水平升高,可使心率加快,说明激素是高能化合物B.饥饿时,胰高血糖素水平升高,促进糖原分解,说明激素具有酶的催化活性C.进食后,胰岛素水平升高,其既可加速糖原合成,也可作为细胞的结构组分D.青春期,性激素水平升高,随体液到达靶细胞,与受体结合可促进机体发育4.(6.00分)有些作物的种子入库前需要经过风干处理。与风干前相比,下列说法错误的是() A.风干种子中有机物的消耗减慢 B.风干种子上微生物不易生长繁殖 C.风干种子中细胞呼吸作用的强度高 D.风干种子中结合水与自由水的比值大 5.(6.00分)下列关于病毒的叙述,错误的是() A.从烟草花叶病毒中可以提取到RNA B.T2噬菌体可感染肺炎双球菌导致其裂解 C.HIV可引起人的获得性免疫缺陷综合征
D.阻断病毒的传播可降低其所致疾病的发病率 6.(6.00分)在致癌因子的作用下,正常动物细胞可转变为癌细胞。有关癌细胞特点的叙述错误的是() A.细胞中可能发生单一基因突变,细胞间黏着性增加 B.细胞中可能发生多个基因突变,细胞的形态发生变化 C.细胞中的染色体可能受到损伤,细胞的增殖失去控制 D.细胞中遗传物质可能受到损伤,细胞表面的糖蛋白减少 必考题: 7.(8.00分)为研究垂体对机体生长发育的作用,某同学用垂体切除法进行实验。在实验过程中,用幼龄大鼠为材料,以体重变化作为生长发育的检测指标。问答下列问题: (1)请完善下面的实验步骤 ①将若干只大鼠随机分为A、B两组后进行处理,A组(对照组)的处理是;B组的处理是 ②将上述两组大鼠置于相同的适宜条件下饲养。 ③。 ④对所得数据进行统计处理与分析。 (2)实验结果与分析 B组大鼠生长发育的状况不如A组,出现这种差异的原因是由于B组的处理使大鼠缺失了来源于垂体的激素和激素。 8.(8.00分)为了研究某种树木树冠上下层叶片光合作用的特性,某同学选取来自树冠不同层的A、B两种叶片,分別测定其净光合速率,结果如图所示。据图回答问题:
1 / 4 程序改错题(共15题) 1、在考生文件夹下,给定程序MODI.C 的功能是: 求一维数组a 中所有元素的平均值,结果保留两位小数。 例如,当一维数组a 中的元素为:10,4,2,7,3,12,5,34,5,9 程序的输出应为:The aver is: 9.10 。 #include
程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1?2?3?4? ?n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(i
main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a2012计算机国二C语言等级考试题库(内部资料)程序改错
1.给定程序MODI1.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。(1)“t=0;”改为“t=1;”。(2)改成“return(2*s);” 2.给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为:7654321时,t中的数为:7531。(1)“void fun (long s, long *t)”(2)“sl = sl*10;” 3.给定程序MODI1.C中函数fun的功能是:用下面的公式求π的近似值,知道最后一项的近似值小于指定数(参数num)为止:例如程序0.0001,则程序输出 3.1414。(1) “while(t>=num)”改为 “while(fabs(t)>=num) ”。(2)“t=s%n;”改为 “t=s/n;”。 4.给定程序MODI1.C中函 数fun的功能是:把主函 数中输入的三个数,最大 的放在a中,最小的放在 c中,中间的放在b中。 例如a=55.0 b=34.0 c=12.0。(1)“float k;”。 (2)“if(*a<*c)”。 5. 给定程序MODI1.C中 函数fun的功能是:为一 个偶数寻找两个素数,这 两个素数之和等于该偶 数,并将这两个素数通过 形参指针传回主函数。(1) “y=1;”。(2)“d=a-i;”。 6. 给定程序MODI1.C中 函数fun的功能是:由形 参给定n个实数,输出平 均值以上(含平均值)的 实数个数。所的平均值为: 195.838745,在平均值以 上的实数个数应为:5。(1) “int j, c=0; double xa=0.0;”。(2)“if (x[j]>=xa)”。 7.例如:当s中的数为: 7654321时,t中的数为: 7531。(1)“*t=0;”(2) “if(d%2!=0)” 8.函数功能是:求出 以下分数序列的前n项 和。 2/1,3/2,5/3,8/5/13/ 8,21/13,…...。和值 通过函数值返回到 main函数。例如,n=5, 则应输出:8.391667。 (1)“fun(int n)”改为 “double fun(int n)”。 (2)“b+=c;”改为“b=c;”。 9.函数fun的功能是: 判断一个整数是否是 素数,若是返回1,否 则返回0。(1)“k++” 改为“k++;”(2) “if(m=k)”改为 “if(m==k)” 10.给定程序MODI1.C 中函数fun的功能是: 从整数1到55之间,选 出能被3整除、且有一 位上的数是5的那些 事,并且把这些数放 在b所指的数组中,这 些数作为函数值返回。 规定,函数中a1放个 位数,a2放十位数。 (1)“a2=k/10;”。(2) “return i;”。 11.给定程序MODI1.C 中函数fun的功能是: 计算小于形参k的最大 的10个能被13或17整 除的自然数之和。K的 值由主函数传入,若K 的值为500.则主函数 为4622。(1) “if((k%13==0)||(k%17 ==0))”。(2)“______” 填“}”。 12.已知一个数列从第 0项开始的前三项分别 是0、0、1以后的各项 都是它相邻的前三项 之和。给定程序 MODI1.C中函数fun的 功能是:计算并输出该 数列前n项的平方根之 和。n的值通过形参传 入。(1)“double fun(int n)”。(2)“return sum;”。 13.函数fun的功能是: 根据整形形参m的值: 计算如下公式的 值……例如:若m中的 值为5,则应输出: 0.536389。(1) “for(i=2; i<=m; i++)”(2) “y-=1.0/(i*i);”。 14.函数的功能是:将 字符串中的字符按逆 序输出,但不改变字符 串中的内容。例如字符 串abcd,则应输出dcba。 (1)“void fun(char *a)”。(2)“printf("%c", *a);”。 15.函数fun的功能是:求 三个数的最小公倍数。 X1=15 x2=11 x3=2(1) 改成“int fun(int x, int y, int z )”。(2)return j 16.函数fun的功能是:根 据整型形参m计算如下 公式的值。若主函数中输 入5,则应输出-0.283333。 (1)“t=t-1.0/i;”。 (2)填空“return t;” 17. 例如,若输入:edcba, 则应输出:abcde。(1) “for( i=strlen( t )-1; i; i- - )” (2)“if(t[j]>t[j+1])” 18.函数fun的功能是: 根据形参m的值 (2<=m<=9),在m行m 列的二维数组中存放 如下所示规律的数据, 由main函数输出。(1) “void fun(int a[][M], int m)”。(2) “a[j][k]=(k+1)*(j+1);”。 19.函数fun的功能是: 先从键盘上输入一个3 行3列矩阵的各个元素
第1题【程序改错】 欧阳学文 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的 字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为: “EDCBAABCDE”。 */ #include /**********FOUND**********/ t[i] = s[sli]; for (i=0; i 第2题【程序改错】 功能:求出以下分数序列的前n项之和。和值通过函数值返回main 函数。 2/1+3/2+5/3+8/5+13/8+21/13 …… 例如:若n = 5,则应输出:8.391667。 */ #include 11 *程序名:TEST.prg *检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的 *学号,姓名,性别,平均成绩,最低分和选课门数,并将结果存储到表NEW_TEST中. *以下程序有三处错误,请改正 OPEN DA TABASE SDB SELECT STUDENT.学号,姓名,性别,A VG(成绩) 平均成绩,MIN(成绩) 最低分,COUNT(*) 选课门数; FROM STUDENT,SC; WHere STUDENT.学号= SC.学号AND 成绩>= 70 ; &&**********Error********** GROUP BY STUDENT.学号HA VING count(课程号) >= 3; &&**********Error********** inTO table NEW_TEST &&**********Error********** CLOSE ALL 9 *程序名:dbtest3.prg *定义一个视图VS1, *检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号, *并按平均成绩降序排序. *以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF open DATABASE SDB &&****Error***修改本行的语法错误,不许注释掉本行或删除本行 CREATE VIEW VS1 SELECT STUDENT2.学号, 姓名, A VG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数, 院系编号; FROM STUDENT2, sc; &&*************Error************* WHERE STUDENT2.学号= SC.学号; GROUP BY SC.学号HA VING COUNT(课程号) > 3; ORDER BY 平均成绩desc &&*************Error************* CLOSE DATABASE RETURN i=2 create table four(结果I) do while i<=1000 if i%3=0 insert into four values(i) &&错误语句请修改 endif C语言程序改错基本 题库 北京石油化工学院 12级复习题 程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1234n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(i main() { int a,c; c=a+b; printf(“c=%d”); } 4.用一个函数求两个数之和。 sum(x,y) { float z; z=x+y; return; } main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a c语言程序设计第五版习 题答案 Prepared on 24 November 2020 习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型 ? 第1题(分)题号:400 难度:中第2章/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:编写函数fun求20以内所有5的倍数之积。 ------------------------------------------------------*/ 《 #define N 20 #include <> int fun(int m) { /**********FOUND**********/ int s=0,i; ; for(i=1;i s*=i; ) 第2题(分)题号:584 难度:中第1章/*-------------------------------------------------------【程序改错】 --------------------------------------------------------- 下列给定程序中函数fun()的功能是计算1/n!的值。 & 例如:给n输入5,则输出。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行, 也不得更改程序的结构。 , 试题程序: -------------------------------------------------------*/ #include <> #include <> /***********FOUND***********/ ~ int fun(int n) { double result =; if(n==0) return ; while(n>1 && n <170) /***********FOUND***********/ result *=n++ ; … result=1/result; return result; } void main() { 第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include 目录 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 (1) 功能:求如下表达式: (2) 功能:判断m是否为素数,若是返回1,否则返回0。 (4) 功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 (5) 功能:求1到20的阶乘的和。 (6) 功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出 整数部分,输出项数不得多于或少于20。 (7) 功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的 元素之和sum。 (8) 功能:找出大于m的最小素数,并将其作为函数值返回。 (9) 功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前 面的元素即第一个数对换位置. (10) 功能:一个已排好序的一维数组,输入一个数number,要求按原来排序的规律将 它插入数组中. (11) 第1题/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 ------------------------------------------------------*/ #include 计算机程序改错题,及答案
C语言程序改错基本题库电子版本
c语言程序设计第五版习题答案
计算机基础C++程序改错复习题
C语言程序改错题
有目录-程序改错部分试题及答案(2015-2016-1)
齐齐哈尔大学C语言题库 程序改错(部分)