ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:20.43KB ,
资源ID:9989443      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9989443.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序改错题答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序改错题答案.docx

1、程序改错题答案1. 程序调试题1(X_2_1.C)调试要求:下列程序不能得到正确的结果,它包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_1.C文件和X_2_1.EXE文件)保存到目录C:KS中。功能说明:计算半径为1n的圆的面积,仅打印超过 50 的圆面积。如输入:6则输出:r=4,square=50.265488r=5,square=78.539825r=6,square=113.097351带错误原程序:#include main() int r,n; float area; scan

2、f(%d,&n); for (r=1,r=n;r+) area=3.141593*r*r; if (area50.0) continue; printf(r=%d,square=%dn,r,area); getch();答案#include main() int r,n; float area; scanf(%d,&n); for (r=1;r=n;r+)/*modified*/ area=3.141593*r*r; if (area50.0) continue; printf(r=%d,square=%fn,r,area);/*modified*/ getch();2. 程序调试题2(X_2

3、_2.C)调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_2.C文件和X_2_2.EXE文件)保存到目录C:KS中。功能说明:将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。如输入:79 则输出:4F又输入:1234 则输出:4D2带错误原程序(见C:KSX_2_2.C):#include int DtoH(int n,char *str) int i,d; for (i=0;n!=0,i+) d=n%16; if

4、(d=10) stri=0+d; else stri=A+d-10; n/=16; return i;main() int i,k,n; char str80; scanf(%d,&n); k=DtoH(n,str); for (i=k-1;i=0;i-) printf(%c,str(i); getch();答案#include int DtoH(int n,char *str) int i,d; for (i=0;n!=0;i+)/*modified*/ d=n%16; if (d=0;i-) printf(%c,stri);/*modified*/ getch();3. 程序调试题3(X_

5、2_3.C)调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括X_2_3.C文件和X_2_3.EXE文件)保存到目录C:KS中。功能说明:函数fun分别统计字符串中大写字母和小写字母的个数,main()函数完成字符串的输入和统计数的输出。如输入:AAaaBBb123CCccccd则输出:upper=6,lower=8带错误原程序(见C:KSX_2_3.C):#include void fun(char *s, int *a, int *b) while (*s=

6、0) if(*s=A & *s=a | *s=z) (*b)+; s+; main() char s100; int upper=0, lower=0; gets(s); fun(s,&upper,&lower); printf(nupper=%d,lower=%dn,upper,&lower); getch();答案#include void fun(char *s, int *a, int *b) while (*s!=0)/*modified*/ if(*s=A & *s=a&*s=z)/*modified*/ (*b)+; s+; main() char s100; int upper

7、=0, lower=0; gets(s); fun(s,&upper,&lower); printf(nupper=%d,lower=%dn,upper,lower);/*modified*/ getch();4. 程序调试题1(D_3_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括D_3_1.c文件和D_3_1.exe文件)保存到指定目录中。功能说明:以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。如输入:-3 5 4则输出:sumx=18例示说明:-3为

8、首项,5为公差,4为项数,前4项之和为18原程序(见D_3_1.C):#include int sumx( int a0, d, n ) int i, k, s=0; k = a0; for ( i=0; in; i+ ) s += k; k += d; return s;void main() int a0, d, n; scanf( %d%d%d, &a0, &d, &n ); printf( sumx=%dn, sumx(a0,d,n) );答案#include int sumx( int a0, int d, int n ) /*modified*/ int i, k, s=0; k

9、= a0; for ( i=0; in; i+ ) /*modified*/ s += k; k += d; return s;void main() int a0, d, n; scanf( %d%d%d, &a0, &d, &n ); printf( sumx=%dn, sumx(a0,d,n) );5. 程序调试题2(D_3_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括D_3_2.c文件和D_3_2.exe文件)保存到指定目

10、录中。功能说明:以下函数length返回字符串中字母A到字母Z所包含字符的长度。主程序输入一行字符串,调用length函数输出该字符串中大写字母A到Z的子串长度。如输入:Z2009-AShanghaiZ则输出:Length=8例示说明:从A到Z的子串为Shanghai,其长度为8原程序(见D_3_2.C):#include int length( char *p ) char *q, *r; for ( q=p; *q!=0 | *q!=A; q+ ) ; for ( r=q; *r!=0 & *r!=Z; r+ ) ; return r-q;void main() char str81; i

11、nt n; gets( str0 ); n = length( str ); printf( Length=%dn, n );答案#include int length( char *p ) char *q, *r; for ( q=p; *q!=0 &*q!=A; q+ ) /*modified*/ ; for ( r=q; *r!=0 & *r!=Z; r+ ) ; return r-q-1; /*modified*/void main() char str81; int n; gets( str ); /*modified*/ n = length( str ); printf( Len

12、gth=%dn, n );6. 程序调试题1(E_3_1.c)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括E_3_1.c文件和E_3_1.exe文件)保存到指定目录中。功能说明:统计一字符串中各个字母出现的次数,该字符串从键盘输入,统计时不区分大小写。对数字、空格及其他字符都不予统计。最后在屏幕上显示统计结果。例如字符串:“abcdefgh23 ABCDEF abc”的统计结果与输出格式为: a b c d e f g h i j k l m n o p q r s t

13、u v w x y z 出现的次数为:;3 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #include #include void main( ) int i, a26; char ch,str80,*p=str; gets(&str); /* 获取字符串 */ for(i=0;i=A&ch=Z ?ch+a-A:ch; /* 大小写字符转换*/ if(a=ch=z) ach-a+; for(i=0;i26;i+) printf(“%2c”, a+i); /* 输出26个字母 */ printf(“出现的次数为:n”); for(i=0;

14、i26;i+) printf(“%2d”,ai); /* 输出各字母出现次数 */ printf(“n”); 答案#include #include void main( ) int i, a26; char ch,str80,*p=str; gets(str); /*modified*/ for(i=0;i=A&ch=Z ?ch+a-A:ch; /* 大小写字符转换*/ if(a=ch)&(ch=z) ach-a+; /*modified*/ for(i=0;i26;i+) printf(“%2c”, a+i); /* 输出26个字母 */ printf(“出现的次数为:n”); for(i

15、=0;i26;i+) printf(“%2d”,ai); /* 输出各字母出现次数 */ printf(“n”); 7. 程序调试题2(E_3_2.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括E_3_1.c文件和E_3_1.exe文件)保存到指定目录中。功能说明:递归算法求xn,即xn=x*xn-1,其中x为实数,n0。原程序(见E_3_2.c) void main() float x, y; int n; scanf(%f%d,&x,&n); y=xn(x,n);

16、printf(xn=%fn,y); float xn(float x, int n) fload z; if(n0) printf(n is a wrong number!n); exit(0); if(n!=0) z=1; else z=xn(x,n); return z; 答案void main() float x, y,xn(float,int); /*modified*/ int n; scanf(%f%d,&x,&n); y=xn(x,n); printf(xn=%fn,y); float xn(float x, int n) fload z; if(n0) printf(n is

17、a wrong number!n); exit(0); if(n=0) z=1; /*modified*/ else z=x*xn(x,n-1); /*modified*/ return z; 8. 程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_2_1.C文件和B_2_1.EXE文件)保存到指定目录中。功能说明:利用格里高利公式/4=1-1/3+1/5-1/7+.求前n.项的值。如输入:5 则输出:pi=3.339683又输入:10000 则输出:pi=3.141498带错误原程序

18、(见B_2_1.C):#include main( ) float pi=0,n,i; int sign=1; scanf(%f,n); for (i=1;i=n;i+) pi+=sign/(2*i-1); sign=-sign; pi=4*pi printf(pi=%fn,pi); getchar(); /*本句无错;暂停程序,按任意键继续 */答案#include void main() int n, i; scanf( %d, &n ); printf( %d=1, n ); for ( i = 2; i = n; ) if ( n % i =-0 ) /*modified*/ prin

19、tf( *%d, i ); n=n/i; /*modified*/ else i+; 9. 程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_2_2.C文件和B_2_2.EXE文件)保存到指定目录中。功能说明:从键盘输入一个非负十进制整数n(n32768),转化成二进制存入数组a,输出二进制结果。如输入:23 则输出:10111又输入:1234 则输出:10011010010带错误原程序(见B_2_2.C):#include main() int a16,n; scanf(%d,&n)

20、; for (i=0;n0) printf(%d,a-i); getchar(); /*本句无错;暂停程序,按任意键继续 */答案#include void str_to_upper( char *s ) while ( *s != 0 ) /*modified*/ if ( *s=a & *s=z ) /*modified*/ *s = *s + A -a; /*modified*/ s+; void main() char str80; gets( str ); str_to_upper( str ); puts( str );10. 程序调试题3调试要求:下列程序包含3个错误,请按题中的

21、功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括B_2_3.C文件和B_2_3.EXE文件)保存到指定目录中。功能说明:程序从键盘输入一行字符串,所有字符依次向右循环移动m个位置并输出,移出的字符循环到最左边。如输入:1234567893则输出:789123456带错误原程序(见B_2_3.C):#include #include void shift_s(char a,int n,int m) /*a数组的n个字符右移m个位置*/ int i,j,t; for(i=1;i0;j-) aj = aj+1; /*移位并复制*/ a0=an;

22、an=0;main() char stra80; int i, n,m; gets(stra); n = strlen(stra); scanf(%d,&m); shift_s(stra,n,m); /*函数调用参数*/ puts(*stra); getchar(); /*本句无错;暂停程序,按任意键继续 */答案#include #include void shift_s(char a,int n,int m) /*a数组的n个字符右移m个位置*/ int i,j,t; for(i=0;i0;j-) aj = aj-1; /*modified*/ a0=an; an=0;main() cha

23、r stra80; int i, n,m; gets(stra); n = strlen(stra); scanf(%d,&m); shift_s(stra,n,m); /*函数调用参数*/ puts(stra); /*modified*/ getchar(); /*本句无错;暂停程序,按任意键继续 */11. 程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_1.C文件和C_2_1.EXE文件)保存到指定目录中。功能说明:利用公式e = 1 + 1/1! + 1/2! + + 1

24、/n! + 求前n项的e值。如输入:4 则输出:2.708333又输入:10 则输出:2.718282带错误原程序(见C_2_1.C):#include main() int n,i; float e,a; scan(%d,&n); e=a=1.0; for (i=1;i=n;i+) a*=i; e+=1a; printf(%fn,e); getchar(); /* 本句没错,程序暂停,按任意键继续 */答案#include main() int n,i; float e,a; scanf(%d,&n); /*modified*/ e=a=1.0; for (i=1;i=n;i+) a*=i;

25、 e+=1/a; /*modified*/ printf(%fn,e); getchar(); /* 本句没错,程序暂停,按任意键继续 */12. 程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_2.C文件和C_2_2.EXE文件)保存到指定目录中。功能说明:程序从键盘输入一行16进制字符串(字母必须大写),调用hexvalue函数转换为10进制,并输出转换结果。如输入:1A 则输出:26又输入:1AF8 则输出:6904带错误原程序(见C_2_2.C):#include long hexvalue(char *str) long data=0; int n,i; for (i=0;stri!=0,i+) if (stri=0 & stri=A | stri=F) n=stri-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1