2023年12月C语言六级答案及解析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、编程题

1、1.##多项式相加

我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个

多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个

多项式由系数、幂数这样的多个整数对来表示。

如多项式2x20-x17+5x9-7x7+16x5+10x4+22x2-15

对应的表达式为:220-11759-77165104222-150。

为了标记每行多项式的结束,在表达式后面加上了一个幂数为负数的整数对。

同时输入表达式的幂数大小顺序是随机的。

我们需要做的就是把所给的两个多项式加起来。

时间限制:1000

内存限制:65536

输入

输入包括多行。第一行整数n,表示有多少组的多项式需要求和。(1n100)

下面为2n行整数,每一行都是一个多项式的表达式。表示n组需要相加的多项式。

每行长度小于300。

输出

输出包括n行,每行为1组多项式相加的结果。

在每一行的输出结果中,多项式的每一项用“[x

y]”形式的字符串表示,x是该项的系数、y

是该项的幂数。要求按照每一项的幂从高到低排列,即先输出幂数高的项、再输出

幂数低的项。系数为零的项不要输出。

样例输入

2

-11722059-77104222-1501650-1

21977317441510-105132-708-8

-11722322268-47-180152140-1

127-753172341510-1051352199-7

样例输出

[220][219][217][1510][59][65][144][352][-220]

[223][219][217][1510][68][87][-35][444][222][-180]

提示

第一组样例数据的第二行末尾的8-8,因为幂次-8为负数,所以这一行数据结束,8

-8不要参与计算。

参考答案:对于每组多项式,我们需要将两个多项式相加,并输出相加后的多项式

解析:【喵呜刷题小喵解析】:

本题要求我们将两个多项式相加,并输出相加后的多项式。

首先,我们需要读取输入的多项式,每个多项式由系数和幂数组成,用空格分隔。

我们可以使用字符串来存储每个多项式,然后将其拆分成系数和幂数。

接着,我们可以将两个多项式相加。由于输入的幂数顺序是随机的,我们需要对每

一项的幂数进行排序,以确保输出的多项式按照幂数从高到低的顺序排列。

最后,我们输出相加后的多项式。由于系数为零的项不要输出,我们需要在输出前

检查每一项的系数是否为零。

需要注意的是,由于输入的表达式后面加上了一个幂数为负数的整数对,我们需要

判断这个负数是否出现在当前多项式中,如果是,则停止读取当前多项式的剩余部

分。

在输出时,我们需要将每一项的系数和幂数用“[x

y]”形式的字符串表示,其中x是该项的系数,y是该项的幂数。

2、2.##队列和栈

队列和栈是两种重要的数据结构,它们具有pushk和pop操作。push

k是将数字k加入到队列或栈中,pop则是从队列和栈取一个数出来。队列和栈的区

别在于取数的位置是不同的。

队列是先进先出的:把队列看成横向的一个通道,则push

k是将k放到队列的最右边,而pop则是从队列的最左边取出一个数。

栈是后进先出的:把栈也看成横向的一个通道,则push

k是将k放到栈的最右边,而pop也是从栈的最右边取出一个数。

假设队列和栈当前从左至右都含有1和2两个数,则执行push

5和pop操作示例图如下:

push5pop

队列1212525

push5pop

栈1212512

现在,假设队列和栈都是空的。给定一系列push

k和pop操作之后,输出队列和栈中存的数字。若队列或栈已经空了,仍然接收到po

p操作,则输出error。

时间限制:1000

内存限制:65536

输入

第一行为m,表示有m组测试输入,m100。每组第一行为n,表示下列有n行push

k或pop操作。(n150)接下n行,每行是pushk或者pop,其中k是一个整数。

(输入保证同时在队列或栈中的数不会超过100个)

输出

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档