程序改错题汇总
程序改错题汇总
1、用"起泡法"对连续输入的十个字符排序后按从小到大的次序输出.
2、分别统计字符串中大写字母和小写字母的个数。
3、求1到10的阶乘的和。
4、判断m是否为素数,若是返回1,否则返回0。
5、用选择法对数组中的n个元素按从小到大的顺序进行排序。
6、求一个3行4列矩阵的外框的元素值之和。
7、以下程序把两个数按由大到小的顺序输出来。
8、求1到20的阶乘的和。
9、判断字符ch是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。(指针)
10、已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。下列给定程序中,函数fun的功能是:计算并输出该数列的前n项的平方根之和sum,n的值通过形参传入。
11、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
12、编写函数fun计算下列分段函数的值:
x*x+x x<0且x≠-3
f(x)= x*x+5x 0≤x<10且x≠2及x≠3
x*x+x-1 其它
13、请编写函数fun,对长度为8个字符的字符串,将8个字符按降序排列。
14、实现交换两个整数的值。
15、读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
16、先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
17、计算数组元素中值为正数的平均值(不包括0)。
18、将s所指字符串中出现的、t1所指子串全部替换成t2所指子字符串,所形成的新串放在w 所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
19、将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A, z转换为a),其它字符不变。
20、在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),后输出矩阵第一行与第三行元素之积,并在fun()函数中输出。
21、编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数
22、一个已排好序的一维数组,输入一个数number,要求按原来排序的规律将它插入数组中.
23、编写函数fun计算下列分段函数的值:
x*20 x<0且x≠-3
f(x)= sin(x) 0≤x<10且x≠2及x≠3
x*x+x-1 其它
24、判断两个指针所指存储单元中的值的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。
25、将一个正整数分解质因数。
26、输入n,计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n
27、读入一个整数m( 5≤m≤20 ),函数getarr调用函数rnd获得m个随机整数,函数sortpb
将这m个随机整数从小到大排序。
28、809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
29、根据整型形参 n,计算某一数据项的值。
A[1]=1, A[2]=1/(1 + A[1]), A[3]=1/(1 + A[2]), …, A[n]=1/(1 + A[n-1])
30、学习使用按位或 | 。
31、判断整数x是否是同构数。若是同购数,函数返回1;否则返回0。
说明:所谓“同构数”是指这个数出现在它的平方数的右边。
32、输入两个双精度数,函数返回它们的平方和的平方根值。
33、根据整型形参m,计算如下公式的值:
y=1+1/3+1/5+1/7+...+1/(2m-3)
34、以下程序输出前六行杨辉三角形,既
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
…………
35、根据整型形参m的值,计算如下公式的值。
1 1 1
t = 1- —— - —— - ... - ——
2x2 3x3 mxm
36、将 m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中。
37、求出在字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
38、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
39、编写程序, 求矩阵(3行3列)与5的乘积。
40、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
41、八进制转换为十进制。
42、利用递归方法求5!。
43、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
44、先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。
45、求两数平方根之和,作为函数值返回。
46、读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。
47、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
48、编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由键盘输入。
49、从m个学生的成绩中统计出高于和等于平均分的学生人数,此人数由函数值返回。平均分通过形参传回,输入学生成绩时,用-1结束输入,由程序自动统计学生人数。
50、求如下表达式:
1 1 1
S = 1 + —— + ——— + ...... + ———————
1+2 1+2+3 1+2+3+......+n
51、将整型数组中所有小于0的元素放到所有大于0的元素的前面(要求只能扫描数组一次)。
52、编写一个程序计算某年某月有几天。(注意要区分闰年)
53、分别统计输入的字符串中各元音字母(即:A、E、I、O、U)的个数。
注意:字母不分大、小写。
54、编写函数fun求20以内所有5的倍数之积。
55、在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。(与22题相似)
56、实现两个字符串的连接。
57、将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
58、统计出若干个学生的平均成绩,最低分以及得最低分的人数。
59、删除w所指数组中下标为k的元素中的值。程序中,调用了getindex、arrout和arrdel
三个函数,getindex用以输入所删元素的下标,函数中对输入的下标进行检查,若越界,则要求重新输入,直到正确为止。arrout用以输出数组中的数据,arrdel进行所要求的删除操作。
60、读入一行英文文本,将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
61、根据整型形参 m,计算某一数据项的值。
y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)
62、求出N×M整型数组的最小元素及其所在的行坐标及列坐标
(如果最小元素不唯一,选择位置在最前面的一个)。
63、用指针作函数参数,编程序求一维数组中的最大和最小的元素值.
64、先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。
65、在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。
66、编写input()和output()函数输入,输出5个学生的数据记录。
67、求出以下分数序列的前n项之和。和值通过函数值返回main函数。
2/1+3/2+5/3+8/5+13/8+21/13 ……
68、计算并输出k以内最大的10个能被13或17整除的自然数之和。
k的值由主函数传入。
69、将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
70、求两个形参的乘积和商数,并通过形参返回调用程序。
71、移动一维数组中的内容; 若数组中有n个整数, 要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。
72、计算正整数num的各位上的数字之积。
73、编写函数fun求1000以内所有8的倍数之和。
74、将s所指字符串中最后一次出现的、t1所指子串替换成t2所指子串,所形成的新串放在w 所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
75、为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。
76、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
77、生成一个周边元素为5,其它元素为1的3*3的二维数组。
78、删除字符串s中的所有空白字符(包括Tab字符、回车符及换行符)。输入字符串时用'#'结束输入。
79、打印出杨辉三角形(要求打印出10行).(与34题相似)
80、编写函数fun求20以内所有5的倍数之积。(与54题相同)
81、首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
82、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
83、以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的最大的n。
84、输入一个字符串,过滤此串,滤掉字母字符,并统计新生成串中包含的字符个数。
85、使数组左下三角元素中的值乘以n 。
86、输入10个数,要求输出这10个数的平均值
87、将一个字符串中的大写字母转换成小写字母。
88、编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
89、用起泡法对10个整数从小到大排序。
90、将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。
91、求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
92、给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
93、求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。
94、从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max代表最高分,min代表最低分,avg代表平均分。
95、找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
96、求0-7这8个数字所能组成的奇数个数。
97、编写函数求2!+4!+6!+8!+10+12!+14!。
98、输入两个实数,按代数值由小到大输出它们,并在fun()函数中输出。(输出的数据都保留2位小数)
99、求出a所指数组中最大数和次最大数(规定最大数和次最大数不在a[0]和a[1]中),依次和a[0]、a[1]中的数对调。(与91相同)
100、一个偶数总能表示为两个素数之和。
101、给一个不多于5位的正整数,要求:
一、求它是几位数,
二、逆序打印出各位数字。
102、根据以下公式求π值,并作为函数值返回。
例如:给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。
π 1 1 2 1 2 3 1 2 3 4
— = 1 + — + — x — + — x — x — + — x — x — x — + ...
2 3 3 5 3 5 7 3 5 7 9
103、写计算级数 ex=1+x+x2/2!+x3/3!+ ...+xn/n! 的值。
104、将若干学生的档案存放在一个文件中,并显示其内容。
105、找出大于m的最小素数,并将其作为函数值返回。(与95题相同)
106、输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输
出项数不得多于或少于20。
107、将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为:87654时,t中的数为:864。
108、用插入排序法将n个字符进行排序(降序)。
109、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
110、用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。
π 1 1 1
— = 1 - — + — - — + ...
4 3
5 7
111、求出两个非零正整数的最大公约数,并作为函数值返回。
112、在字符串str中找出ASCII码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
113、编写函数fun生成一个对角线元素为5,上三角元素为0,下三角元素为1的3*3的二维数组。
114、求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……项值通过函数值返回 main ( )函数。
115、求100以内(包括100)的偶数之和.
116、有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.
117、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
118、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
119、读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
120、将6个数按输入时顺序的逆序进行排列.
121、利用二维数组输出如图所示的图形。
*******
*****
***
*
***
*****
*******
122、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
123、编制统计营业员一天的营业额的程序,设程序采用一个循环实现,每次循环输入一笔交易金额并累计营业额。由于营业员一天完成的交易次数是不确定的,为此以最后附加输入一笔0或负数交易额作为交易金额已全部输入结束的标志。有以下统计营业员一天营业额的算法:
统计营业员一天营业额
{
营业额清0;
输入第一笔交易额;
while(交易额>0.0)
{
累计营业额;
输入下一笔交易额;
}
输出营业额;
}
记一笔交易额为变量sale,营业额为sigma。
124、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
125、编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。
例如:输入3+5=或5-2=或3*4=或4/2=,求表达式结果。
126、输入字符序列,字符序列以特殊字符“#”结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为n,则它的后一个字符(包括数字符)需重复输出n+1次如果当前读入的字符不是数字符,则输出该字符。输出时,以上述一次翻译为一组,不同组间输出用一个空白字符隔开。翻译直至当前读入的字符为字符‘#’,结束翻译和输出。
127、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。例如:输入一个四位整数1234,则结果为:9876。
128、根据整型形参m,计算如下公式的值:
y=1/2+1/8+1/18+...+1/2m*m
129、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
130、实现3行3列矩阵的转置,即行列互换。
131、将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如:当s中的数为:87653142时,t中的数为: 7531。
132、下题是一段有关结构体变量传递的程序.
133、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
134、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
135、将字符串s中最后一次出现的子字符串t1替换成字符串t2,所形成的新串放在w所指的数组中,在此处,要求t1和t2所指字符串的长度相同。
136、计算正整数num的各位上的数字之积。
最新二级C语言考试题库及答案程序改错专项练习 精华版
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. 输出计算结果。 main() { int a=b=10; a+=b+5; b*=a+=10; printf("%d%d\n",a,b); } 2. 输出计算结果。 #include
输出程序运行结果。 #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列矩阵的各个元素
C语言程序改错题
第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 '以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:")) 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】 题目:在一个一维整型数组中找出其中最大的数及其下标。程序中共有4条错误语句,请改正错误。『错误答案』: 1 int fun(int *a,int *b,int n) 2 *b=c-a;} 3 scanf("%d",&a[i]); 4 max=fun(a,&p,N); 【程序改错-2】 题目:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素。程序中共有4条错误语句,请改正错误。 『错误答案』: 1 scanf("%d",p++); 2 max=p; 3 if(★max★==★arr ★) 4 for(i=0;i计算机程序改错题,及答案
C语言程序改错基本题库电子版本
VB程序设计例题-程序改错程序填空程序设计
c语言程序设计第五版习题答案
计算机基础C++程序改错复习题
C语言程序改错题
程序改错2