浙大计算机学院考研复试上机试题,浙大计算机学院考研复试上机试题.doc

浙江大学计算机复试上机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 + eight nine =zero + zero =

输出样例:39096

#include #include #include #include

int main(void){?const char data[12][6] = {"zero", "one", "two",?? "three", "four",??"five", "six", "seven", "eight", "nine",? "+", "="};

?unsigned a, b;?/* 转换后的表达式参数,如a+b(123+456)?*/?unsigned i, j, k;?/* 临时变量,作为下标????*/?char str[100];?/* 输入字符串,足够大容量???*/?char temp[6];??/* 临时字符串,用于检索数字,如"one"->'1'?*/?char result[30];?/* 转换后的表达式参数,如"123+456="??*/

?do{??a = 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; i

???for(j=0; j<12; j++)?/* 把这个单词转换为数字 */????if(strcmp(temp, data[j]) == 0)????{?????if( j <= 9? )?result[k++] = j + '0';?????if( j == 10 )?result[k++] = '+';?????if( j == 11 )?result[k++] = '=';?????break;?/* 找到匹配数字就不必再搜索了 */????}??}??result[k] = 0; /* 字符串结束标记,result形式"123+456=" */

??sscanf(result,"%d+%d=",&a,&b); ?/* 用sscanf来获得a,b的值 */??if( a==0 && b==0 ) break; ??/* A,B同时为零则退出程序 */??else printf("%d\n", a + b);??/* 打印输出 A + B 的数值 */?}while(1);

?return 0;}

2005年浙江大学计算机学院考研复试上机试题及参考答案(2/5)

第二题:谁是开门关门的人?(10分)

题目要求:每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签到、签离记录,请根据记录找出当天开门和关门的人。

输入格式:测试输入的第一行给出记录的总天数N ( > 0 )。下面列出了N天的记录。每天的记录在第一行给出记录的条目数M ( > 0 ),下面是M行,每行的格式为?证件号码 签到时间 签离时间其中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。

输出格式:对每一天的记录输出1行,即当天开门和关门人的证件号码,中间用1空格分隔。

注意:在裁判的标准测试输入中,所有记录保证完整,每个人的签到时间在签离时间之前,且没有多人同时签到或者签离的情况。

输入样例:31ME3021112225321 00:00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值