2022.03全国青少年软件编程(C语言)等级考试试卷(六级)

标签:
普通文字版
2024-07-08
| 10页
| 29人阅读
| 0人下载

内容正文:

C语言六级 1.多项式相加 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个整数对来表示。 如多项式2x20- x17+ 5x9- 7x7+ 16x5+ 10x4 + 22x2- 15 对应的表达式为:2 20 -1 17 5 9 - 7 7 16 5 10 4 22 2 -15 0。 为了标记每行多项式的结束,在表达式后面加上了一个幂数为负数的整数对。 同时输入表达式的幂数大小顺序是随机的。 我们需要做的就是把所给的两个多项式加起来。 时间限制:1000 内存限制:65536 输入 输入包括多行。 第一行整数n,表示有多少组的多项式需要求和。(1 < n < 100) 下面为2n行整数,每一行都是一个多项式的表达式。表示n组需要相加的多项式。 每行长度小于300。 输出 输出包括n行,每行为1组多项式相加的结果。 在每一行的输出结果中,多项式的每一项用“[x y]”形式的字符串表示,x是该项的系数、y 是该项的幂数。要求按照每一项的幂从高到低排列,即先输出幂数高的项、再输出幂数低的项。 系数为零的项不要输出。 样例输入 2 -1 17 2 20 5 9 -7 7 10 4 22 2 -15 0 16 5 0 -1 2 19 7 7 3 17 4 4 15 10 -10 5 13 2 -7 0 8 -8 -1 17 2 23 22 2 6 8 -4 7 -18 0 1 5 21 4 0 -1 12 7 -7 5 3 17 23 4 15 10 -10 5 13 5 2 19 9 -7 样例输出 [ 2 20 ] [ 2 19 ] [ 2 17 ] [ 15 10 ] [ 5 9 ] [ 6 5 ] [ 14 4 ] [ 35 2 ] [ -22 0 ] [ 2 23 ] [ 2 19 ] [ 2 17 ] [ 15 10 ] [ 6 8 ] [ 8 7 ] [ -3 5 ] [ 44 4 ] [ 22 2 ] [ -18 0 ] 提示 第一组样例数据的第二行末尾的8 -8,因为幂次-8为负数,所以这一行数据结束,8 -8不要参与计算。 2.扩号匹配问题 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注. 时间限制:3000 内存限制:65536 输入 输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100 输出 对每组输出数据,输出两行,第一行包含原始输入字符,第二行由"$","?"和空格组成,"$"和"?"表示与之对应的左括号和右括号不能匹配。 样例输入 ((ABCD(x) )(rttyy())sss)( 样例输出 ((ABCD(x) $$ )(rttyy())sss)( ? ?$ 3.拼写检查 现在有一些英语单词需要做拼写检查,你的工具是一本词典。需要检查的单词,有的是词典中的单词,有的与词典中的单词相似,你的任务是发现这两种情况。单词A与单词B相似的情况有三种: 1、删除单词A的一个字母后得到单词B; 2、用任意一个字母替换单词A的一个字母后得到单词B; 3、在单词A的任意位置增加一个字母后得到单词B。 你的任务是发现词典中与给定单词相同或相似的单词。 时间限制:2000 内存限制:65536 输入 第一部分是词典中的单词,从第一行开始每行一个单词,以"#"结束。词典中的单词保证不重复,最多有10000个。 第二部分是需要查询的单词,每行一个,以"#"结束。最多有50个需要查询的单词。 词典中的单词和需要查询的单词均由小写字母组成,最多包含15个字符。 输出 按照输入的顺序,为每个需要检查的单词输出一行。如果需要检查的单词出现在词典中,输出“?x is correct",?x代表需要检查的单词。如果需要检查的单词没有出现在词典中,则输出"?x: ?x1 ?x2 ...?xn",其中?x代表需要检查的单词,?x1...?xn代表词典中与需要检查的单词相似的单词,这些单词中间以空格隔开。如果没有相似的单词,输出"?x:"即可。 样例输入 i is has have be my more contest me too if award # me aware m contest hav oo or i fi mre # 样例输出 me is correct aware: award m: i my me contest is correct hav: has have oo: too or: i is correct fi: i mre: more me 4.利用队列进行数字排序 对于N个数字,有人提出了如下的排序策略: 例如,对于数字53、47、85、38、64、23 先建立10个队列(0到9),用于存放数字的大小,将这N个数字依个位存放入各自的队列之中,然后再按队列0到队列9依次出队。 例如,对于上面的数字,依次进队后,结果如下: 队列3:53、23 队列4:64 队列5:85 队列7:47 队列8:38 将其依次出队后,结果为53,23,64,85,47,38 然后,再将方才出队后的队对,依照十位放入各自的队列之中,然后再按队列0到队列9依次出队 例如,对于上面刚刚出队的序列53,23,64,85,47,38,将其依次进队,结果如下: 队列2:23 队列3:38 队列4:47 队列5:53 队列6:64 队列8:85 将其依次出队后,结果为23,38,47,53,64,85.因为这组数字最大只是两位数,所以排序结束。 如果还有更大的数字,那么,接下来就是其百位、千位……(如果位数不够,就补0.比如最大的数字是四位数,那么数字23就当成0023处理) 请根据上述算法,对这些数字进行排序 时间限制:1000 内存限制:65535 输入 分为两行,第一行为一个数字N(1 <= N <= 1000),表示数字的个数 第二行为N个数字(都是非负数),以空格相隔,最大的数字不超过9999 输出 输出两个部分 第一个部分为第一次进队出队的结果,先显示一行:Step1. 之后用Queue0:...表示,共10行,结果用空格分隔,下同 之后为第二次进队出队的结果(如果需要第二次进队出队的话),先显示一行:Step2. 之后仍然用Queue0:...表示,共10行 之后如果需要的话,则分别显示第三次、第四次的进队出队结果 第二部分为一行,即将数字排序后的结果(升序排序) 样例输入 20 41 67 34 0 69 24 78 58 62 64 5 45 81 27 61 91 95 42 27 36 样例输出 Step1. Queue0:0 Queue1:41 81 61 91 Queue2:62 42 Queue3: Queue4:34 24 64 Queue5:5 45 95 Queue6:36 Queue7:67 27 27 Queue8:78 58 Queue9:69 Step2. Queue0:0 5 Queue1: Queue2:24 27 27 Queue3:34 36 Queue4:41 42 45 Queue5:58 Queue6:61 62 64 67 69 Queue7:78 Queue8:81 Queue9:91 95 0 5 24 27 27 34 36 41 42 45 58 61 62 64 67 69 78 81 91 95 学科网(北京)股份有限公司 $$

资源预览图

2022.03全国青少年软件编程(C语言)等级考试试卷(六级)
1
2022.03全国青少年软件编程(C语言)等级考试试卷(六级)
2
2022.03全国青少年软件编程(C语言)等级考试试卷(六级)
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。