资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2011 年计算机科学技术专业技能模拟考核题目一、要求:1、 考生在 VC6.0 编程环境下,完成各题函数的编写,并调试、编译、运行程序。2、 考生不能修改源程序文件名,也不能修改其扩展名,否则不得分。3、 考生只能在/*与/=之间编写程序。若修改源程序的其它部分,会得 0 分。4、 考核过程中,考生不能自行启动电脑,如果遇到死机需要重新启动,举手由老师帮助解决。5、 输出数据中的空格个数必须完全精确。6、 考核前考生必须认真阅读数据结构专业技能考核“须知” 。二、专业技能考核题目(8 题,共 700.3 分)0.测试环境(本题 0.3 分)(sum.cpp)完成源程序 SUM.CPP 中 sum 函数的编写:int sum( int a, int b)/*/ 写入 return a+b; /=如果得 0.3 分表示环境正常,可以开始考核。int main() int a, b;freopen(sum.in, r, stdin);freopen(sum.out , w, stdout);scanf(%d%d, printf(%dn, sum(a,b);return 0;1. 最短距离(本题 100 分)(dist.cpp/c)【问题描述】开车从起始点到目的地的路线有多条。给你一张描述待选路线的表(n*n 的矩阵 A) ,让你找出行车距离最短的路线。表中表示了任意两个路口的连通情况,以及距离。矩阵元素 a(i,j)=0 表示路口 i,j 不连通,a(i,j)!=0 表示路口 i,j 的行车距离。其中起始点在路口 1,目的地在路口 n 。完成源程序DIST.CPP 中 Dijkstra 函数的编写。【输入】输入文件 dist.in 的第一行为一个自然数 n(1 disj )tmin = disj;k = j; usedk = 1;for( j=1;j=0) printf(%c, stacktop-);if(top=0) printf(-);printf( %dn, dist);int main() freopen(DictS.in, r, stdin);freopen(DictS.out, w, stdout);ini();Pathway();fclose(stdin);fclose(stdout);return 0;3. 有限自动机(本题 100 分)(dfa.cpp/c)【问题描述】设有如下确定的状态转换图,0 为起始状态,3,4 为终结状态。编写程序,判断用户输入的符号串,是否被该有限自动机接受。 21baab【输入】输入文件 dfa.in 为一行字符串(字符个数小于 1000) ;【输出】输出文件 dfa.out 包括一行,为一个整数,表示输入的符号串是否被该有限自动机接受,若接受,则输出 0,否则输出首次出错字符所在的位置(注:输入串首字符的位置为 1) 。学生只要编写函数 int dfachk(char str),该函数的参数 str 为输入串,若输入串 str 被该有限自动机接受,则函数返回值为 0。若输入串 str 在第 n 个字符处首次出错,则函数返回值为 n。【输入输出样例 1】dfa.in dfa.outaa 3【输入输出样例 2】dfa.in dfa.outabbaaa 0【输入输出样例 3】dfa.in dfa.outababaaab 4【输入输出样例 4】dfa.in dfa.outabaacaab 5【数据规模】输入的字符串长度 L=0) switch (stri) case a: k=0; break;case b: k=1; break;default : s=-1;if (s=0) s=ask;i+;if (s#include #define SIZE 100int n;struct Grade_tableint no_stu; /* the number of student*/char name20; /* the name of student*/ int maths;int english;int computer;struct Grade_table gradeSIZE;void ini( )int i;scanf(%d,for(i=0;i=60&gradei.english=60&gradei.computer=60)ak=i;k=k+1; for(i=0;igradeaj.no_stu) t=ai;ai=aj;aj=t;for(i=0;i#include struct Job_type int no; /作业号int tb; /作业开始时间(分)int tr; /运行时间(分) x;Job_type job36;int n;void load() int i,j;scanf(%d, for( i=0; ijobj.tb)x=jobi;jobi=jobj;jobj=x;else if (jobi.tb = jobj.tb & jobi.tr jobj.tr)x = jobi;jobi = jobj;jobj = x; printf(FCFSsjf 调度结果:n);printf( 开始时间 作业号 到达时间 运行时间 完成时间 等待时间 周转时间n);for(i=0;ivoid average()int i,j,s=0,a53;for(i=0;i3;i+)for(j=0;j5;j+) scanf(%d,if(0=aji & aji=100)s=s+aji;else printf(-1);return; printf(%d, s/15);int main()freopen(average.in, r, stdin);freopen(average.out, w, stdout);average();return 0;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号