程序改错题汇总
C语言程序改错

C语言程序改错〖第1题〗『程序改错』(5分)(题号:422)/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/#include"stdio.h"main( ){/**********FOUND**********/long a,b,c,d,e,x,scanf("%ld",&x);a=x/10000;/**********FOUND**********/b=x/10000/1000;c=x%1000/100;d=x%100/10;e=x%10;/**********FOUND**********/if (a==0)printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);else if (d!=0) printf("there are 2, %ld %ld\n",e,d);else if (e!=0) printf(" there are 1,%ld\n",e);getch();}答案:1). long a,b,c,d,e,x;2). b=x%10000/1000; 或 b=x/1000%10;3). if (a!=0) 或 if (!a)〖第2题〗『程序改错』(5分)(题号:411)/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。
程序改错69题

程序改错注意:不可以增加或删除程序行,也不可以更改程序的结构。
1-44题每小题有2处错误。
1.计算1!+2!+3!+ (10)SET TALK OFFS=0N=1DO WHILE N>=10STOR 1 TO I,PDO WHILE I<=NP=P*NI=I+1ENDDOS=S+PN=N+1ENDDO?SSET TALK ONRETURN2.计算并在屏幕上显示出"九九乘法表",显示格式如下:1×1=11×2=2 2×2=41×3=3 2×3=6 3×3=9… …1×9=9 …8×9=72 9×9=81 SET TALK OFFCLEARX=1DO WHILE X<=9Y=1DO WHILE Y<=9??STR(X)+"×"+STR(Y)+"="+STR(X*Y) Y=Y*1ENDDO?X=X+1ENDDOSET TALK ONRETURN3.根据输入的数据,计算不大于该数的奇数累加和。
SET TALK OFFCLEARYN="Y"DO WHILE UPPER(YN)="Y"INPUT "请输入2位以内的整数" TO N STORE 0 TO X,YZ=" "DO WHILE X<NX=X+1IF INT(X/2)=X/2EXITELSEZ=Z+"+"+STR(X,2)Y=Y+ZENDIFENDDO?Z+"="+STR(Y,4)WAIT "继续计算?(Y/N)" TO YN ENDDO?"再见:"SET TALK ONRETURN4.通过临时数据LSH.DBF向学生数据库RS.DBF中追加数据记录。
程序改错

发生错误后都要回到编辑阶段,分析错误原因,修改C源程序,再重复上述操作,直到程序能得到正确的运行结果,程序才算调试成功。程序发生错误,其原因很复杂。学会调试程序,也是学习C程序设计的重点和难点之一,必须多练、多分析,积累经验。
scanf(“%d”,&n);
while(i<n)
i+=2;
sum+=i;
if(n%2==0) n--;
printf(“输出1+3+5+……+%d=%ld\n”,n,sum);省略号是在中文状态下输入的。
}
第四题:程序功能:定义计算三角形面积的函数。计算公式:
s=(a+b+c)/2
a、b、c为三角形的边长。
{
char str[80]="a*b$c(d!EEE !!a.";
fun(str[80]);
printf("\n");
puts(str);
}
4、下列程序,其功能是:从s所指向的串中,找出包含有t所指字符串的个数。例如:s所指向的串为abcdabfab,t所指字符串为ab,则所求个数为3。请改正程序中的错误,使程序能输出正确的结果。
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
int a[]={1,2,3,4,5,6,7,8,9,10},i=10,n;
if((fp=fopen(“file6.txt”,”w”))==NULL)
程序改错题

程序改错题第一篇:程序改错题1、 Gaicuo1.cpp的功能是:1!+2!+3!+……+20!。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main() {float s=0,t; int n,i; for(n=1;n<=20;n++) { for(i=1,t=1;i<=n;i++) t=t*i; /****found*****/ /****found****/}2、 gaicuo2.cpp的功能是:输入两个不等的整数分别给x和y,输出其中的大数。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y; printf("Enter x & y:\n"); scanf("%d%d",&x,&y); /****found****/ if(x}3、gaicuo3.cpp的功能是交换两个数,若输入10和20,则输出20和10。
程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y,t; printf("Enter x & y:\n"); /****found****/ scanf("%d%d",&x,&y); /****found****/ t=x; x=y;y=t; printf("x=%d y=%d",x,y) ; } 4. gaicuo4.cpp的功能是输入一个整数,判别它是否能被3整除,若能整除,打印YES;不能打印NO。
程序改错题

程序改错题〖第1题〗『程序改错』(1.0分)(题号:451)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:以下程序是单击命令按钮,将用户在组合框中输入' 的某一值,与组合框其他项进行比较,如有相同,' 则将相同表项删除,其他项不动。
'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Command1_click()Dim a As String, i As Integer'**********FOUND**********a = Trim(Combo1.Index)If Len(a) <> 0 Then'**********FOUND**********For i = 0 To Combo1.ListCount'**********FOUND**********If Combo1.List(i) = a Then Combo1.AddItem i Next iEnd IfCombo1.SetFocusEnd SubPrivate Sub Form_Load()Dim i As IntegerFor i = 0 To 9bo1.AddItem iNextEnd Sub答案:1). a = Trim(Combo1.Text)2). For i = 0 To Combo1.ListCount - 13). If Combo1.List(i) = a Then Combo1.RemoveItem i 〖第2题〗『程序改错』(1.0分)(题号:127)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:下面程序可输出如下图形:' *' ***' *****' *******' *********'------------------------------------------------'注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------Private Sub Form_Click()dim m as integer,n as integer,s as string,i as integer,j as integer n = 4m = 1s = "*"For i = 5 To 1 Step -1'**********FOUND**********Print Spc(n)For j = 1 To 2 * m - 1Print s;Next jPrint'**********FOUND**********n = n + 1'**********FOUND**********m = m - 1Next iEnd Sub答案:1). Print Spc(n);2). n = n - 1 或n = - 1+n3). m = ★m ★+★1〖第3题〗『程序改错』(1.0分)(题号:137)'------------------------------------------------'【程序改错】'------------------------------------------------'题目:求s=72+102+132+……822的值。
C语言改错题-含答案

第1题【程序改错】功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。
例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。
------------------------------------------------------*/#include <conio.h>#include <stdio.h>#include <string.h>void fun (char *s, char *t){/**********FOUND**********/int i;sl = strlen(s);for (i=0; i<sl; i++)/**********FOUND**********/t[i] = s[sl-i];for (i=0; i<sl; i++)t[sl+i] = s[i];/**********FOUND**********/t[2*sl] = "0";}main(){char s[100], t[100];printf("\nPlease enter string s:"); scanf("%s", s);fun(s, t);printf("The result is: %s\n", t);}答案:1). int i,sl;2). t[i] = s[sl-i-1];3). t[2*sl] = '\0'; 或 t[2*sl] = 0;第2题【程序改错】功能:求出以下分数序列的前n项之和。
和值通过函数值返回main 函数。
2/1+3/2+5/3+8/5+13/8+21/13 ……例如:若n = 5,则应输出:8.391667。
------------------------------------------------------*/#include <conio.h>#include <stdio.h>/**********FOUND**********/fun ( int n ){int a, b, c, k; double s;s = 0.0; a = 2; b = 1;for ( k = 1; k <= n; k++ ){/**********FOUND**********/s = (double)a / b;c = a;a = a + b;b = c;}/**********FOUND**********/return c;}main( ){int n = 5;printf( "\nThe value of function is: %lf\n", fun ( n ) );}答案:1). double fun(int n)2). s = s + (double)a / b; 或 s += (double)a / b; 或 s += a /(double)b; 或s=s+a/(double)b;3). return s;第3题【程序改错】功能:读入一个整数m( 5≤m≤20 ),函数getarr调用函数rnd获得m个随机整数,函数sortpb将这m个随机整数从小到大排序。
java程序改错12道及答案

{
/***********FOUND***********/
if(i%2==0)
s=s+i;
i=i+2;
}
/***********FOUND***********/
product=i;
}
System.out.println("偶数之和是 : "+sum);
System.out.println("奇数之积是 : "+product);
3)while(i<=10)或while(i<11)
4)}
/*-------------------------------------------------------
【程序改错】
---------------------------------------------------------
题目2:计算 1/1+1/2+1/3+...+1/100 的值
-------------------------------------------------------*/
public class Prog1
{
public static void main( String args[ ])
{
/***********FOUND***********/
public static void main (args[])
{
/***********FOUND***********/
int n=100,sum=1;
while(n>0)
程序改错复习题答案

程序改错复习题答案1. 题目:在下面的代码中找出并修正错误,使其能够正确计算并输出两个数的和。
```pythondef sum_numbers(a, b):result = a + bprint("The sum is:", result)sum_numbers(5, "3")```答案:错误在于第二个参数传递了一个字符串类型的值,而函数期望的是一个数字类型。
应将字符串 "3" 改为整数 3。
```pythondef sum_numbers(a, b):result = a + bprint("The sum is:", result)sum_numbers(5, 3)```2. 题目:修正以下代码中的错误,使其能够正确地将列表中的所有元素乘以2。
```pythonmy_list = [1, 2, 3, 4]for i in range(len(my_list)):my_list[i] = my_list[i] * 2print(my_list)```答案:代码本身没有错误,可以直接运行。
但是,更高效的方式是使用列表推导式。
```pythonmy_list = [1, 2, 3, 4]my_list = [x * 2 for x in my_list]print(my_list)```3. 题目:找出并修正以下代码中的错误,使其能够正确地计算并输出一个数的平方。
```pythondef square_number(n):return n * nprint(square_number("5"))```答案:错误在于函数调用时传递了一个字符串类型的值,而函数期望的是一个数字类型。
应将字符串 "5" 改为整数 5。
```pythondef square_number(n):return n * nprint(square_number(5))```4. 题目:修正以下代码中的错误,使其能够正确地遍历字典中的所有键值对。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序改错题汇总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≠-3f(x)= x*x+5x 0≤x<10且x≠2及x≠3x*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≠-3f(x)= sin(x) 0≤x<10且x≠2及x≠3x*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+...+n27、读入一个整数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、以下程序输出前六行杨辉三角形,既11 11 2 11 3 3 11 4 6 4 1…………35、根据整型形参m的值,计算如下公式的值。
1 1 1t = 1- —— - —— - ... - ——2x2 3x3 mxm36、将 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 1S = 1 + —— + ——— + ...... + ———————1+2 1+2+3 1+2+3+......+n51、将整型数组中所有小于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]中的数对调。