程序改错题答案.docx

上传人:夏** 文档编号:561783844 上传时间:2022-10-30 格式:DOCX 页数:8 大小:95.02KB
返回 下载 相关 举报
程序改错题答案.docx_第1页
第1页 / 共8页
程序改错题答案.docx_第2页
第2页 / 共8页
程序改错题答案.docx_第3页
第3页 / 共8页
程序改错题答案.docx_第4页
第4页 / 共8页
程序改错题答案.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《程序改错题答案.docx》由会员分享,可在线阅读,更多相关《程序改错题答案.docx(8页珍藏版)》请在金锄头文库上搜索。

1、C 程序改错题一、要求说明: 1. 在考生文件夹的 Paper/CM 子文件夹中,已有 CM.c 文件 2. 该程序中标有“/* 1 */”、“/* 2*/”、“/* 3*/”、“/* 4 */”等部分为需要程序改错的标志,其下一行程序语句有错误。考生需根据程序的功能自行改错,并调试运行程序; 3. 单击“回答”按钮后进行程序改错;二、注意事项: 1. 在改错时,不得删除改错标志(如:“/* 1 */”等),考生在该改错标志下方的下一行,根据程序功能改错;调试运行程序。 2. 不得加行、减行、加句、减句。三、程序功能:1 输入x和正数eps,计算多项式 的和,直到末项的绝对值小于eps为止。

2、(1.19)#include #include void main() double x,eps,s=1,t=1; /* 1 */ float i=0; /* 2 */ scanf(%lf%lf,&x,&eps); do i+;/* 3 */ t=-t*x/i; s+=t; /* 4 */ while(fabs(t)=eps); printf(%fn,s);2 程序运行时,若输入a,n分别为3,6,则输出下列表达式的值: (1.11)3+33+333+3333+33333+333333#include void main() int a,n,i; long s=0,t; /* 1 */ sca

3、nf(%d%d,&a,&n); /* 2 */ t=0; /* 3 */ for(i=1;i=n;i+) t=t*10+a; /* 4 */s=t+s; printf(%ldn,s);3 程序运行时输入n,输出n的所有质数因子。 (2.3)例如:输入n为60,则输出 60=2*2*3*5#include void main() int n,i; /* 1 */ scanf(%d,&n);printf(%d=,n); /* 2 */ i=2;/* 3 */ while(n1) if(n%i=0) printf(%d*,i); /* 4 */ n=n/i; else i+;printf(b n);

4、4 程序运行时输入整数n,则输出n的各位数字之和。 (1.12)例如:输入n=1308,则输出12;n=-3204,则输出9#include void main() /* 1 */ int n,s=0; scanf(%d,&n); /* 2 */ n=n0) /* 4 */ s=s+n%10; n=n/10; printf(%dn,s);5 程序运行时,输入10个数,分别输出其中的最大值和最小值。(2.6)#include void main() float x,max,min; int i; /* 1 */ for(i=1;imax) max=x; if(xmin) min=x; /* 4

5、*/ printf(%f,%fn,max,min);6 输入n,再输入n个点的平面坐标,则输出那些距离坐标原点不超过5的点的坐标值。(2.11)#include #include #include void main() int i,n; struct axy float x,y; /* 1 */ struct axy *a; /* 2 */ scanf(%d,&n); a=(struct axy*) malloc(n*sizeof(struct axy); for(i=0;in;i+) scanf(%f%f,&ai.x,&ai.y); /* 3 */ for(i=0;in;i+) if(sq

6、rt(pow(ai.x,2)+pow(ai.y,2)y); 7 循环输入x,n,调用递归函数计算,显示x的n次方。当输入n小于0时,结束循环。#include float f(float x,int n) /* 1 */ if(n=0) return 1; else/* 2 */return x*f(x,n-1);void main() float y,z; int m; while(1) scanf(%f%d,&y,&m); /* 3 */ if(m0) break; /* 4 */ z=f(y,m); printf(%fn,z); 8 输入两个字符串s1,s2后,将它们首尾先连。(2.7)

7、#include void main() char s180,s240; int j; /* 1 */ int i=0; printf(Input the first string:); gets(s1); printf(Input the second string:); gets(s2); /* 2*/ while(s1i!= 0) i+; for(j=0;s2j!=0;j+) /* 3 */ s1i+j=s2j; /* 4 */ s1i+j= 0; puts(s1);9 用“选择法”对10个整数按升序排序。(2.12)#include #define N 10 void main() i

8、nt i,j,min,temp; int aN=5,4,3,2,1,9,8,7,6,0; printf(排序前:); /* 1 */ for(i=0;iN;i+) printf(%4d,ai); putchar(n); for(i=0;iN-1;i+) /* 2 */ min=i; for(j=i+1;jN;j+) /* 3 */ if(ajamin) min=j; temp=amin;amin=ai;ai=temp; printf(排序后:); for(i=0;iN;i+)printf(%4d,ai); /* 4 */ putchar(n);10 将十进制的整数,以十六进制的形式输出。(1.

9、6)#include /* 1 */ void DtoH(int n) int k=n & 0xf; if(n4!=0) DtoH(n4); /* 2 */ if(k10) putchar(k+0); else /* 3 */ putchar(k-10+a); void main() int a4=28,31,255,378,i; for(i=0;i,ai); /* 4 */ DtoH(ai); putchar(n); 11 输入一个字符串,将其中所有的非英文字母的字符删除后输出。(1.4)#include #include #include void main() char str81; int i,flag; /* 1 */ gets(str); for(i=0;stri!=0;) flag=tolower(stri)=a & tolower(stri)=z; /* 2 */ flag=!flag; if(flag) /* 3 */ strcpy(str+i,str+i+1); /* 4 */ i-; i+; printf(%sn,str);12 显示两个数组中,数值相同的元素。#include void main() /*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号