2013河北省软件开发与设计职业技能大赛算法设计题目模拟试卷.doc_第1页
2013河北省软件开发与设计职业技能大赛算法设计题目模拟试卷.doc_第2页
2013河北省软件开发与设计职业技能大赛算法设计题目模拟试卷.doc_第3页
2013河北省软件开发与设计职业技能大赛算法设计题目模拟试卷.doc_第4页
2013河北省软件开发与设计职业技能大赛算法设计题目模拟试卷.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言算法设计试题2013河北省软件开发与设计职业技能大赛C语言算法设计题目试题A(样卷)选手注意事项(1)每组2位参赛选手配备1台电脑,共同完成算法设计题目。竞赛时,不允许参赛选手携带源代码参考书、手册、字典等纸质参考资料,不准携带任何电子媒质资料及移动存储设备;参赛选手不得和其他参赛选手以及竞赛组委会指定工作人员(包括评委)以外的人交谈;评委可以回答和系统相关的问题,例如解释系统错误信息。(2)选手需要在计算机的E盘根目录下创建“KSxx”的文件夹,其中xx是分组号,用两位数表示。如第1组用“01”表示,创建文件夹名称为“KS01”;如第2组用“02”表示,创建文件夹名称为“KS02”;并依次类推,第70组则创建名为“KS70”的文件夹。(3)比赛限时120分钟,若比赛期间因为机器故障等原因导致不能正常答题,组委会将根据具体情况为受影响选手适当延长比赛时间。参赛选手有权针对题目描述中的不明确或错误的部分提问。如果评委确认题目中确实存在不明确或错误的部分,将会通告所有参赛队伍进行更正。(4)试题解答完成后需向评委示意,由评委现场评分并记录,编程题目需要现场演示程序运行结果,然后参赛选手将填空题答案或程序源代码文件存放在对应的“KSxx”文件夹中。每一题文件的命名规则为“题号+A+.txt”,例如第1题的文件名为“1A.txt”,第5题的文件名为“5A.txt”,保存类型为纯文本(编程题目要求考生把所有函数写在一个文件中,相关的工程文件不要拷入)。比赛结束后,赛场的评委负责将所有参赛选手的“KSxx”文件夹上传至服务器共享目录。(5)要求参赛选手给出所有试题的解答完全符合ANSI C标准,不能使用C+特性;不能使用诸如绘图、中断调用等硬件相关或操作系统相关的API。试卷满分35分,每题的评分由评委评定,总分为各题的总和。第一部分、填空题(每空1.5分,共6分)1. 下列代码把一个二进制的字符串转换为整数,请补充缺少的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹“KSxx”下的文件“1A.txt”中即可。char* p = 1010110001100;int n = 0;for(int i=0;istrlen(p); i+)n = _2*n+(pi-0)_;printf(%dn, n);2. 此段代码的意图是把一个缓冲区中的整数重新排列,使得所有负数都在正数的左边。分析其工作流程,请补全缺失的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹“KSxx”下的文件“2A.txt”中即可。void reorder(int *pData, int len) if(pData = NULL | len = 0) return; int *pBegin = pData; int *pEnd = _pData+len_; while(pBegin pEnd) if(*pBegin=0) pEnd -; _ continue _; int temp = *pBegin; *pBegin = *pEnd; *pEnd = temp; int main()int a = 1,2,3,-5,-4,5,9,-8,-1;reorder(a, 9);for(int i=0; i9; i+) printf(%d , ai);printf(n);return 0; 第二部分、算法设计(共29分)3. 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。(本题8分)把本题源代码(不包括其他文件,例如工程文件等)存入考生文件夹“KSxx”下的文件“3A.txt”中即可。#include#includeint main()int i,j,k,c;for(i=1;i=9;i+) /*i:车号前二位的取值*/for(j=0;j=9;j+) /*j:车号后二位的取值*/if(i!=j) /*判断二位数字是否相异*/k=i*1000+i*100+j*10+j; /*计算出可能的整数*/for(c=31;c*ck;c+); /*判断该数是否为另一整数的平方*/if(c*c=k) printf(Lorry-No. is %d. ,k); /*若是,打印结果*/4. 构造 NXN 阶的拉丁方阵(2=N=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=4时: (本题10分) 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3把本题源代码(不包括其他文件,例如工程文件等)存入考生文件夹“KSxx”下的文件“4A.txt”中即可。#include int n;int i,j;int main()scanf(%d,&n);for (i=0;in;i+)printf(%d,i);for (j=0;j 或 ,分别表示“早”或“晚”例如:AC1 表示: A大夫比C大夫晚1天值班格式2:编号 = 数值 例如:F=4 表示: F大夫在星期四值班#include #define NUM 26#define DOCTOR_INIT -100#define OBJECT_INIT -100#define OFFSET_INIT -100 typedef struct Statement /*用来存储每一个语句object1存储第一个字母,2存储第二个,offset存储最后的数字*/ int object1; int object2; int offset; ;void manage(struct Statement* statement,int* doctor,int n,int equal)/*递归函数,处理刚才的输入*/*前三个参数是传递当前情况,第四个参数表示刚刚确定的那个doctor,整次递归只处理刚刚确定的那一个*/ int i; for(i=0;in;i+) if(statementi.object1=equal & doctorstatementi.object2=DOCTOR_INIT & statementi.offset!=OFFSET_INIT) doctorstatementi.object2 = doctorequal+statementi.offset; manage(statement,doctor,n,statementi.object2); if(statementi.object2=equal & doctorstatementi.object1=DOCTOR_INIT & statementi.offset!=OFFSET_INIT) doctorstatementi.object1 = doctorequal-statementi.offset; manage(statement,doctor,n,statementi.object1); void main() /*变量声明*/ int n; struct Statement statementNUM; int doctorNUM; int i,k,l; char c5; char oper; /*变量初始化*/ for(i=0;iNUM;i+) statementi.object1=OBJECT_INIT; statementi.object2=OBJECT_INIT; statementi.offset=OFFSET_INIT; doctori=DOCTOR_INIT; /*读入语句*/ printf(请输入n:); scanf(%d,&n); for(i=0;in;i+) printf(%d:,i+1); scanf(%s,c); statementi.object1=c0-A; oper=c1; if(oper != =) statementi.object2=c2-A; statementi.offset=c3-0; else statementi.offset=c2-0;if(oper = ) statementi.offset*=-1; /*递归处理语句*/ for(i=0;in;i+) if(statementi.object2=OBJECT_INIT & doctorstatementi.object1=DOCTOR_INIT) doctorstatementi.object1=stat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论