数据结构实验考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 1 题:报数问题

(时间限制为:5000毫秒)

5

输入:标准输入输出:标准输出

描述:

n个人围成一个圈,每个人分别标注为1、2、...、n,要求从1号从1开始报数,报到k的人出圈,接着下一个人又从1开始报数,如此循环,直到只剩最后一个人时,该人即为胜利者。例如当n=10,k=4时,依次出列的人分别为4、8、2、7、3、10,9、1、6、5,则5号位置的人为胜利者。给定n个人,请你编程计算出最后胜利者标号数。

输入:

输入包含若干个用例,每个用例为接受键盘输入的两个数

n(1<=n<=1000000), k(1<=k<=50),分别表示总人数及报到出圈数。输入为“0 0“表示输入用例结束。

输出:

每个用例用一行输出最后胜利者的标号数。

输入样例1:

1 1

10 4

0 0

输出样例1:

1

5

第2题:成绩统计(顺序线性表)

(时间限制为:1000毫秒)

描述:根据输入统计学生的平均分及各科平均分。

输入:第一行为学生的个数n及课程数m,第二行至m+1行为课程名,接下来为各学生的姓名及成绩,每个学生的信息占两行,第一行为学生的姓名,第二行为m个实数,表示学生各科成绩。

输出:输出包含2n+2m行,前2n行为学生的平均分,其中第一行为学生姓名,第二行为该生的平均分,后2m行为各课程的平均分,其中第一行为课程名,第二行为对应的平均分。(保留两位小数)

样例输入:

3 2

english

computer

zhangshan

87.5 98

lisi

80 78

wangwu

60 59

样例输出:

zhangshan

92.75

lisi

79.00

wangwu

59.50

english

75.83

computer

78.33

第 3题:合并线性表

(时间限制为:500毫秒)

描述:已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。

输入:输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度,第二行为n个自然数构成的非递减顺序线性表,第三行为自然数m,表示第二个非递减顺序线性表的长度,第四行为m个自然数构成的非递减顺序线性表。

输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。

样例输入:

2

1 3

3

2 3 6

样例输出:

1 2 3 3 6

第 4 题:链式线性表的插入与删除

(时间限制为:500毫秒)

描述:删除链式线性表指定位置的元素。

输入:第一行为自然数n,表示链式线性表的长度,第二行为n个自然数表示链式线性表各元素值。第三行为指定删除的位置,第四行为插入的位置及元素值(如果位置不对,则不作操作,插入位置应在删除元素后重新计数)。

输出:输出删除与插入元素后的链式线性表的所有元素,元素之间用一个空格隔开。

样例输入:

5

1 2 3 4 5

3

6 7

样例输出:

1 2 4 5

第 5 题:数制转换

(时间限制为:1000毫秒)

标准输入输出

题目描述:

数制转换。(要求采用栈实现,练习进栈入栈函数的编写)

输入:

输入的第一行包含两个数,n,d

n表示要转换的数的个数

d表示要转换成的进制数

接下来是n个十进制数

输出:

对每一测试用例,用一行输出数制转换后的结果

输入样例:

2 8

123

213

输出样例:

173

325

第 6题:括号匹配的检验

(时间限制为:1000毫秒)

标准输入输出

题目描述:

采用栈实现,练习进栈入栈函数的编写.

输入:

输入的第一行包含一个数,n

n表示要用例的个数

接下来是n行由括号构成的字符串,包含‘(’、‘)’、‘[’、‘]’。

输出:

对每一测试用例,用一行输出结果,如果匹配,输出“YES”,否则输出“NO”输入样例:

2

[([][]())]

)[]()

输出样例:

YES

NO

第 7 题:行编辑程序

(时间限制为:1000毫秒)

标准输入输出

题目描述:

如果遇到‘#’,表示后退一格,即前一字符无效,如果遇到@,表示前一单词无效,即退出到空格或所在行头为止。采用栈实现。

输入:

输入包含若干行,由各种字符构成。

输出:

利用描述规则输出最后的文本内容。

输入样例:

whli##ilr#e(s# *s)

outcha@putchar( *s =# ++)

输出样例:

while( *s)

putchar( *s ++)

第 8 题:循环队列

(时间限制为:1000毫秒)

标准输入输出

题目描述:

根据给定的空间构造顺序循环队列,规定队满处理方法为少用一个元素空间。例如,给定5个元素空间构造循环队列,则只能存放4个元素。试根据入队及出队操作判断队列最后的元素存放情况,并输出最后队列中的元素值,即完成给定入队及出列操作后一次性全部出队的元素值。要求采用顺序队列完成。

输入:

输入的第一行为一个自然数n,表示要求构造的顺序循环队列空间数。第二行为操作次k,接下来k行为出队入队操作,每行各代表一次操作。

相关文档
最新文档