向死而生,方得重生。

Search

2016-12-02

一次随堂测试参考程序


问题 A: 交换最小数

【题目描述】

输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数,若最小的数有多个只交换最前面的那个。

【输入】

输入有2行。第一行输入一个整数n,表示这个测试实例的数值的个数。第二行输入n个整数。

【输出】

输出交换后的数列。

【样例输入】

5

5 4 3 2 1

【样例输出】

1 4 3 2 5

【参考程序】

问题 B: 精挑细选的钢管

【题目描述】

小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下:

1.这根钢管一定要是仓库中最长的;

2.这根钢管一定要是最长的钢管中最细的;

3.这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近)。

相关的资料倒是有,可是,手工从几百份钢管材料中选出符合要求的那根……要不,还是请你编写个程序来帮他解决这个问题吧。

【输入】

第一行一个整数T(0<T<50),表示仓库中所有钢管的数量。

之后有T行,每行三个整数,分别表示一根钢管的长度(以毫米为单位)、直径(以毫米为单位)和编码(一个9位整数)。

【输出】

一个9位整数,表示选出的那根钢管的编码。

【样例输入】

5

3000 50 872198442

3000 45 752498124

2000 60 765128742

3000 45 652278122

2000 50 781234556

【样例输出】

752498124

【参考程序】

(这题我没法通过循环变量做好控制所以采用结构体,但是考试时课程进度并没有到结构体,如果您只是通过循环就能控制好,期待倾听您的见解。)


问题 C: 最佳校友

【题目描述】

中国石油大学每年都会举办2次校友会,所有校友都有校友编号。每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立15周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。

【输入】

输入若干个整数,表示签到簿上的校友编号,所有编号均为0~999的整数,以一个负数作为输入结束的标志。

【输出】

输出出现次数最多的编号。若获奖选手有多个,则按从小到大的顺序输出选手编号,用空格隔开。注意行末无空格。

【样例输入】

4 5 3 1 3 4 2 7 -1

【样例输出】

3 4

【参考程序】


问题 D: 公交车之谜

【题目描述】

听说青岛八大关公园有英语口语角,还有很多外国人呢。为了和老外对上几句,这周六早晨小胖拉上同伴早早的就坐上了72路公交从学校向紫荆山进发。一路上没事干,小胖开始思考一个问题。

从学校到青岛八大关公园共有n(1<=n<=20)站路,小胖刚上车时车上有m个人,每到一站都有pi个人上车,qi个人下车,问这一路上公车上最多有多少人。(0<=m, pi ,qi <=50).

【输入】

输入有多组样例,每组样例第一行两个数n m,接下来n行每行两个数pi和qi。

【输出】

每组实例输出这一路上(包含上车站点和下车站点)公交车上最多的人数。每组实例输出占一行。

【样例输入】

2 3

5 2

3 5

【样例输出】

6

【参考程序】

以上即为这次随堂测试的几个题目,因为第五题与之前练习题重复,此处不再展示。

上面有一部分程序仅仅为了通过OJ的在线评测,有的可能设置了死循环(一直在读入),因为考试时间问题没有对循环次数进行必要的参数控制,欢迎各位在评论区给予补充,各位如果有更好的程序设计思想,欢迎在评论区进行展示。

0 comments:

Post a Comment