




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省计算机等级考试二级C语言机试题(第二十二次) 2009-03-29 16:37:54 (第一套)(60分钟)一、程序调试题 (文件名 testl-l.c)(40分) 软盘上有一个名为testl-l.c的C程序文件,其中函数move的功能是将字符串str中的字符循环左移 r位。例如,输入HELLO,r=2,则应该输出LLOHE。注意:不得增行或删行,也不得更改程序的结构。源程序如下:#include #include char move( char *str, int r) char t; int i,len; len=strlen(str); for(k=0;kstrlen(s) printf(n Data error!n); while(mstrlen(s); printf(n Result:%sn,move(s,m);二、编写程序 (程序文件名取为 testl-2.c)(60分) 编写一个程序,从文件testl-2.in中读出一行字符(即一个字符串,长度在128个字符内),将排列在奇数位上的字符取出,按从小到大的顺序排列并输出到屏幕上。 要求: (1) 在main函数中实现从文件testl-2.in中读出一行字符,调用sort函数排序,然后将结果输出到屏幕上。(2)编写sort函数,实现将排列在奇数位上的字符取出,然后按从小到大的顺序排列。例如,hqwbodze奇数位为q、b、d、e,排序后为bdeq。(第二套)(60分钟)一、程序调试题 (文件名为 test2-l.c)(40分)程序的功能是找出数组a中每行的最小值并输出。请改正程序申的错误,使程序能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。源程序如下:#include main() float a 10, min; int i, j; int invert(); for(i=0;i10;i+) for(j=0;j10;j+) aij= i+j; for(i=0;i10;i+) min=invert(a,10); printf(a%dmin=%fn,i,min); float invert(float *a, n) int i; float min; min=*(a+0); for(i=1;in;i+) if(min*(a+i) min=(a+i); return min;二、编写程序 (程序文件名取为 test2-2.c)(60分)请编写函数select判断一个数能否被3和5整除,main函数中调用select函数,求出所有小于400、能被3和5整除的数(例如15,30等),然后将求得的数以每行5个数,每个数占10列方式输出到屏幕上和存放到文件test2-2.dat中。(第三套)(60分钟)一、程序调试题 (文件名为 test3-1.c) (40分)函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数返回,平均分存放在形参aver所指的存储单元中。例如,若8名学生的成绩为:80.5 60 72 90.5 98 51.5 88 64,则低于平均分的学生人数为4(平均分为75.5625)。请改正程序中的错误,便它能计算出正确的结果。洼意:不得增行或删行,也不得更改程序的结构。源程序如下:#include int fun(float s, int n, float *aver) float ave,t=0.0; int count,k,i; for(k=0;kn;k+) t=sk; ave=t/n; for(i=0;iave) count+; *aver=&ave; return count;main() float s30,aver; int m, i; printf(nPlease enter n(30):); scanf(%d, &m); printf(nPlease enter %d mark:n,m); for(i=0;im;i+) scanf(%f, s+i); printf(nThe number of students:%d n,fun(s, m, aver); printf(Ave=%f n, aver);二、编写程序 (程序文件名取为 test3-2.c) (60分)编写函数fun和input:(1) 函数fun对整数数组s中除首、尾数据外的其余M-2个数据按升序排列。 例如,若原来的数据为9876543,则排序后输出为9456783。(2) 函数input从文件test3-2.in中读出待排序的数据。编写main函数,调用input函数和fun函数,将排序的结果输出到屏幕上四川省计算机等级考试二级C语言机试题(第二十二次)答案 2009-03-29 16:38:21 22-1套 参考答案:一、程序调试题(文件名为test1-1.c)(40分)#include #include char move( char *str, int r) /* 改为 *move */ char t; int i,len; /* 改为 k */ len=strlen(str); for(k=0;k=r;k+) /* 改为 kstrlen(s) printf(n Data error!n); while(mstrlen(s); printf(n Result:%sn,move(s,m);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数编写正确 25分2文件打开、数据读出正确 10分3函数调用正确 10分4屏幕输出正确 10分5程序结构合理 5分参考程序:#include sort(char a,char b) char c; int i,j=0; for(i=1;istrlen(a);i+=2) bj+=ai; bj=0; for(i=1;istrlen(b);i+) for(j=0;jbj+1) c=bj; bj=bj+1; bj+1=c; main() FILE *in; char a128,b65; in=fopen(test1-2.in,r); fgets(a,128,in); fclose(in); sort(a,b); puts(b);22-2套 参考答案:一、程序调试题(文件名为test2-1.c)(40分)#include main() float a 10, min; /* 改为 a1010 */ int i, j; int invert(); /* 改为 float */ for(i=0;i10;i+) for(j=0;j10;j+) aij= i+j; for(i=0;i10;i+) min=invert(a,10); /* 改为 ai */ printf(a%dmin=%fn,i,min); float invert(float *a, n) /* 改为 int n */ int i; float min; min=*(a+0); for(i=1;in;i+) if(min */ min=(a+i); /* 改为 *(a+i) */ return min;评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数编写正确 15分2文件打开、数据写入正确 15分3函数调用正确 10分4屏幕输出正确 10分5程序结构合理 10分参考程序:# include int select(int a) if(!(a%3)&!(a%5) return 1; else return 0;main() int i,k=0; FILE *fp; if(fp=fopen(test2-2.dat,wb)=NULL) printf(cannot open the filen); exit(0); for(i=3;i400;i+) if(select(i) k=k+1; printf(%10d,i); fprintf(fp,%10d,i); if(k%5=0) printf(n); fprintf(fp,n); fclose(fp);22-3套 参考答案:一、程序调试题(文件名为test3-1.c)(40分)#include int fun(float s, int n, float *aver) /* 改为 *s */ float ave,t=0.0; int count,k,i; /* 改为 count=0 */ for(k=0;kn;k+) t=sk; /* 改为 += */ ave=t/n; for(i=0;iave) count+; /* 改为 */ *aver=&ave; /* 改为 ave */ return count;main() float s30,aver; int m, i; printf(nPlease enter n(30):); scanf(%d, &m); printf(nPlease enter %d mark:n,m); for(i=0;im;i+) scanf(%f, s+i); printf(nThe number of students:%d n,fun(s, m, aver); /* 改为 &aver */ printf(Ave=%f n, aver);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test3-2.c)(60分)评分标准:1被调函数编写正确 20分2文件操作和读数据正确 15分3函数调用正确 10分4屏幕输出正确 10分5程序结构合理 5分参考程序:#include#include#define M 10void fun(int *s) int i,j,t; for(i=1;iM-2;i+) for(j=i+1;jsj) t=si; si=sj; sj=t; int input(int s) FILE *fp;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年编外人员考试题库答案
- 2025广东广州启安众智建设管理有限责任公司第二批项目制用工内蒙古岗位招聘8人考试参考题库附答案解析
- 2025晋中祁县司法协理员招聘考试参考题库附答案解析
- 17 -18世纪欧洲绘画+课件-2025-2026学年高一上学期美术粤教版必修
- 合作学习:电大英语远程开放教学的创新引擎
- 2025年泌尿外科泌尿系统常见病症诊疗模拟考试卷答案及解析
- 2025年教师招聘之《幼儿教师招聘》通关练习题库包附参考答案详解【轻巧夺冠】
- 2025呼伦贝尔农垦集团有限公司校园招聘44人笔试备考及答案详解一套
- 教师招聘之《小学教师招聘》强化训练高能及答案详解(新)
- 完整社区建设案例集(第三批)
- 龙虎山正一日诵早晚课
- 米粉及杂粮类制品课件
- 楔形平板产生的等厚干涉
- 骨髓腔穿刺在急诊急救中的应用课件
- 机械动力学PPT完整全套教学课件
- 年产2.03万吨高端精细化学品及5G新材料项目环评报告书
- 群众文化副高答辩问题及答案
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- 主编-孙晓岭组织行为学-课件
- 中医刮痧法诊疗操作评分标准
- 《师范生教师职业能力证书》样式及说明
评论
0/150
提交评论