考研论坛

 
查看: 6052|回复: 4

杭电2013年复试笔试题与答案!!!

[复制链接]

2

主题

2

帖子

81

积分

新手上路

Rank: 1

精华
1
威望
70
K币
11 元
注册时间
2013-6-14
发表于 2013-6-14 11:28 | 显示全部楼层 |阅读模式

/*就两道题,能做出第二道的基本上直接录取,个人水平有限,希望答案仅作参考*/
1.简要描述:输入一个数,代表要检测的例子的个数,每个例子中:
输入两个时间(格式HH:MM:SS),前面时间减去后面时间
输出在时钟上显示的时间,格式一样,如果是以为数字的前面补零
参考答案:
#include <stdio.h>
int main()
{
       intn;
       intHH,MM,SS;
       inthh,mm,ss;
       scanf("%d",&n);
       while(n--)
       {
              scanf("%d:%d:%d",&HH,&MM,&SS);
              scanf("%d:%d:%d",&hh,&mm,&ss);
              if(hh>12)
                     hh%=12;
              if(SS<ss)
              {
                     MM--;
                     SS+=60;
              }
              SS-=ss;
              if(MM<mm)
              {
                     HH--;
                     MM+=60;
              }
              MM-=mm;
              if(HH<hh)
                     HH+=12;
              HH-=hh;
              printf("%02d:%02d:%02d\n",HH,MM,SS);
       }
       return0;
}
file:///C:/Users/LIJIE/AppData/Local/Packages/oice_15_974fa576_32c1d314_2f9b/AC/Temp/msohtmlclip1/01/clip_image001.png
2.简要描述:一个活动有N1<N<100)个人参加,一个主持人和N-1个普通参加者,其中所有的人都认识主持人,主持人也认识所有的人,主持人要求N-1个参加者说出他们在参加者中所认识的人数,如果A认识B,B认识A,所以最少是会认识一个人,就是主持人,他们说出了自己所认识的人数后,需要判断他们中有没有人说谎。
输入
第一行是N,N=0表示结束
第二行是N-1个数字
输出
Lie absolutely 或者maybe truth
7
1 2 4 5 5 3
9
3 7 7 7 7 5 6 6
两个测试例子中第一个是lie,第二个是truth
参考答案:
/*分析:
输入N个数,再输入N-1个数
9
3 7 7 7 7 5 6 6
先把这N-1个数字按从大到小排序
7 7 7 7 6 6 5 3
第一个人认识了7个人,除了主持人还剩6个,就当是认识最靠近他后面的6个。
这样,除去第一个人,后面认识的人就都减少了一个,变成:
7 6 6 6 5 5 4 3
再次排序
从第二个人,除了主持人和第一个,应该认识5个人,就当是认识最靠近他后面的5
这样,出去这个人,后面认识的人就都减少了一个,变成
7 6 5 5 4 4 3 3
排序,想减,重复下去
如果最后出现了0,就说明有人说谎
如果排序后,当前认识的人和其后面的人数都是1了,那一个人都是主持人,也是maybe truth
*/
#include <stdio.h>
#include <stdlib.h>
int cmp(const void*a,const void*b)
{
       return*(int *)b-*(int *)a;
}
int main()
{
       inti,j,N,a[100];
       while(scanf("%d",&N)!=EOF&&N)
       {
              for(i=0;i<N-1;i++)
                     scanf("%d",a+i);
              for(i=0;i<N-1;i++)
              {
                     qsort(a+i,(N-1-i),sizeof(int),cmp);
                     if(a[N-2]==0)
                     {
                            printf("Lie absolutely\n");
                            break;
                     }
                     elseif(a==1)
                     {
                            printf("Maybe truth\n");
                            break;
                     }
                     else
                            for(j=1;j<a;j++)
                                   a[i+j]--;
              }
       }
       return0;
}
file:///C:/Users/LIJIE/AppData/Local/Packages/oice_15_974fa576_32c1d314_2f9b/AC/Temp/msohtmlclip1/01/clip_image002.png

评分

参与人数 1威望 +40 收起 理由
niexiong + 40 精品文章

查看全部评分

回复

使用道具 举报

1

主题

6188

帖子

2万

积分

资深会员

Rank: 6Rank: 6

精华
0
威望
1327
K币
19502 元
注册时间
2010-7-2
发表于 2013-6-21 20:01 | 显示全部楼层
表示看不懂
回复

使用道具 举报

4

主题

8

帖子

64

积分

新手上路

Rank: 1

精华
0
威望
0
K币
64 元
注册时间
2013-7-10
发表于 2014-2-22 21:43 | 显示全部楼层
学长你好 你是杭电计算机的研究生吧  我在准备复试 在下想请教一下有关复试的一些问题  希望学长给我知道。好人终有好报,也许您的帮助能改变我的命运,本人扣扣499679497 冒昧请求学长加我
回复

使用道具 举报

4

主题

26

帖子

2903

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
0
K币
2903 元
注册时间
2011-8-21
发表于 2014-4-11 15:55 | 显示全部楼层
好东西啊,收藏了
回复

使用道具 举报

0

主题

4

帖子

8

积分

新手上路

Rank: 1

精华
0
威望
0
K币
8 元
注册时间
2014-7-8
发表于 2014-7-13 22:48 来自手机 | 显示全部楼层
学长,能否加个qq

来自Android客户端

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 人人连接登陆

本版积分规则   

关闭

您还剩5次免费下载资料的机会哦~

扫描二维码下载资料

使用手机端考研帮,进入扫一扫
在“我”中打开扫一扫,
扫描二维码下载资料

关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

GMT+8, 2024-3-29 02:09 , Processed in 0.059259 second(s), Total 23, Slave 22(Usage:7M, Links:[2]1,1_1) queries , Memcache On.

Powered by Discuz!

© 2001-2017 考研 Inc.

快速回复 返回顶部 返回列表
× 关闭