浙大计算机学院考研复试上机试题及参考答案.doc

上传人:飞****9 文档编号:135755489 上传时间:2020-06-18 格式:DOC 页数:67 大小:84.50KB
返回 下载 相关 举报
浙大计算机学院考研复试上机试题及参考答案.doc_第1页
第1页 / 共67页
浙大计算机学院考研复试上机试题及参考答案.doc_第2页
第2页 / 共67页
浙大计算机学院考研复试上机试题及参考答案.doc_第3页
第3页 / 共67页
浙大计算机学院考研复试上机试题及参考答案.doc_第4页
第4页 / 共67页
浙大计算机学院考研复试上机试题及参考答案.doc_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《浙大计算机学院考研复试上机试题及参考答案.doc》由会员分享,可在线阅读,更多相关《浙大计算机学院考研复试上机试题及参考答案.doc(67页珍藏版)》请在金锄头文库上搜索。

1、浙江大学计算机复试上机2005-2007(由林子整理 QQ:170479150) 2005年浙江大学计算机学院考研复试上机试题及参考答案(1/5) 第一题:A+B(10分) 结题题目要求:读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为A + B =,相邻两字符串有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。输出格式:对每个测试用例输出1行,即A+B的值。输入样例:one + two =three four + five six =zero seven + eig

2、ht nine =zero + zero =输出样例:39096#include #include #include #include int main(void)const char data126 = zero, one, two, three, four,five, six, seven, eight, nine, +, =;unsigned a, b;/* 转换后的表达式参数,如a+b(123+456)*/unsigned i, j, k;/* 临时变量,作为下标*/char str100;/* 输入字符串,足够大容量*/char temp6;/* 临时字符串,用于检索数字,如one-

3、1*/char result30;/* 转换后的表达式参数,如123+456=*/doa = b = i = j = k = 0;/* 初始化变量 */memset(str, 0, sizeof(str);memset(temp, 0, sizeof(temp);memset(result, 0, sizeof(result);gets(str);/* 获取输入字符串,不能使用scanf,因为有空格 */for(i=0, k=0; istrlen(str); +i)for(j=0;!isspace(stri)&istrlen(str);+i,+j) /* 提取一个单词 */tempj = st

4、ri;tempj = 0; /* 字符串结束标记 */for(j=0; j12; j+)/* 把这个单词转换为数字 */if(strcmp(temp, dataj) = 0)if( j 0 )。下面列出了N天的记录。每天的记录在第一行给出记录的条目数M ( 0 ),下面是M行,每行的格式为证件号码 签到时间 签离时间其中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。输出格式:对每一天的记录输出1行,即当天开门和关门人的证件号码,中间用1空格分隔。注意:在裁判的标准测试输入中,所有记录保证完整,每个人的签到时间在签离时间之前,且没有多人同时签到或者签离的情况。输入

5、样例:31ME3021112225321 00:00:00 23:59:592EE301218 08:05:35 20:56:35MA301134 12:35:45 21:40:423CS301111 15:30:28 17:00:10SC3021234 08:00:00 11:25:25CS301133 21:45:00 21:58:40输出样例:ME3021112225321 ME3021112225321EE301218 MA301134SC3021234 CS301133#include #include #include typedef structchar id16;/* 证件号码

6、长度不超过15位 */char cometime9;/* 时间格式00:00:00 */char leavetime9;/* 时间格式00:00:00 */Record;int main()int N, M, i;/* 记录的总天数N,每天记录的条目数M */Record *pTimeList;/* 记录该天出入人员的证件号码、进入时间、离开时间 */int first, last;/* 记录每天开门的人和关门的人 */scanf(%d,& N);/* 读入记录的总天数 */while(N-)scanf(%d, & M);/* 读入该天的进出人员数 */pTimeList = (Record

7、*)malloc(M*sizeof(Record);for(i=0,first=0,last=0; i 0 )first = i;if( strcmp( pTimeListlast.leavetime, pTimeListi.leavetime) 0)last = i; /* for i */printf(%s %sn, pTimeListfirst.id, pTimeListlast.id);free(pTimeList); /* for N */ 2005年浙江大学计算机学院考研复试上机试题及参考答案(3/5) 第三题:分数统计(12分)题目要求:今天的上机考试虽然有实时的Ranklist

8、,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入格式:测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 N 1000 )、考题数M ( 0 M = 10)、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号(题目号由1到M)。当读入的考生人数为0时,输入结束,该场考试不予处理。输出格式:对每场考试,首先在第1行输出不低于分数线的考生人数n,随后

9、n行按分数从高到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考号的升序输出。输入样例:4 5 2510 10 12 13 15CS004 3 5 1 3CS003 5 2 4 1 3 5CS002 2 1 2CS001 3 2 3 51 2 4010 30CS001 1 22 3 2010 10 10CS000000000000000001 0CS000000000000000002 2 1 20输出样例:3CS003 60CS001 37CS004 3701CS000000000000000002 20#include #include #include ty

10、pedef struct char id21;/* 准考证号(=20字符)*/ int score;/* 该考生总分*/StuInfo;int main() int N, M, G, n;/* 考生人数,题目数,分数线,上线考生数量 */ int *pMarkList;/* 第1题至第M题的正整数分值 */ StuInfo *pStuinfo;/* 考生信息 */ int i,j,k,a,b,c,m;/* 临时变量 */ StuInfo tmp;/* 用于排序 */ while( scanf(%d, &N ) & N!=0 )/* 读入考生人数N */ scanf(%d%d, &M, &G);

11、/* 读入题目数量和分数线 */ pMarkList = (int *)malloc(M*sizeof(int);/* M道题目的分数 */ pStuinfo = (StuInfo *)malloc(N*sizeof(StuInfo);/* N个考生 */ for(i=0; iM; +i)/* 读入M题每题分数 */ scanf(%d, & (pMarkListi) ); for(i=0, n=0; iN; +i)/* 读入N个考生信息,i用于计数N次,cnt用于计算上线考生记录 */ scanf(%s%d, & (pStuinfon.id), &m);/* 准考证号,解出的题目数量m */ for(pStuinfon.score=0,j=0; jm; +j) /* 读入答出的m题的题号 */ scanf(%d, & a ); /* 读入答对题的题号 */

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

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