2023年03月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、波兰表达式

波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2+

3的波兰表示法为+2

3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次

序,例如(2+3)*4的波兰表示法为*+23

4。本题求解波兰表达式的值,其中运算符包括+-*/四个。

时间限制:1000

内存限制:65536

输入

输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。

输出

输出为一行,表达式的值。可直接用printf(“%f\n”,v)输出表达式的值v。

样例输入

*+11.012.0+24.035.0

样例输出

1357.000000

参考答案:

解析:【喵呜刷题小喵解析】该题目要求计算波兰表达式的值。波兰表达式是一种

把运算符前置的算术表达式,例如普通的表达式2+3的波兰表示法为+2

3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次

序。本题中,运算符包括+、-

、*、/四个。输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点

数。输出为一行,表达式的值。在C语言中,我们可以使用scanf函数来读取输入,

使用switch语句来处理不同的运算符。对于除法运算,需要特别处理除数为0的情

况。最后,使用printf函数输出表达式的值。在上面的代码中,我们首先定义了一

些变量,包括运算符op,两个运算数num1和num2,以及结果变量result。然后,使

用while循环来读取输入,直到没有输入为止。在循环中,使用scanf函数读取一个

字符和两个浮点数,如果读取成功,就使用switch语句来处理不同的运算符。最后

,使用printf函数输出计算结果。需要注意的是,在计算除法时,需要特别处理除

数为0的情况,否则会导致程序崩溃。另外,如果输入的运算符不是+、-

、*、/之一,程序会输出错误信息并退出。

2、括号配对

字符串中可能有三种成对的括号,“()”、“[]”、“{

}”。请判断字符串的括号是否都正确配对。无括号也算正确配对。括号交叉算不正

确配对,例如12{34[78}ab]“就不算正确配对。但是一对括号被包含在另一对括号

里面,例如12{ab[8]}“不影响正确性。

时间限制:1000

内存限制:65536

输入

第一行为整数n(n40),接下来有n行,每行一个无空格的字符串,长度小于1000。

输出

对每行字符串,如果括号配对,输出YES”,否则输出NO”。

样例输入

2

12{ab[8]}

12{34[78}ab]

样例输出

YES

NO

参考答案:

解析:【喵呜刷题小喵解析】:本题要求判断字符串的括号是否都正确配对。可以

使用栈来解决这个问题。遍历字符串中的每个字符,如果字符是左括号,则将其压

入栈中;如果字符是右括号,则检查栈顶元素是否与其匹配,如果匹配,则弹出栈

顶元素,否则说明括号不匹配,输出NO。如果遍历结束后栈为空,则说明所有

括号都正确配对,输出YES;否则说明括号不匹配,输出NO。在Python中,可

以使用列表来模拟栈,使用append()方法将元素压入栈中,使用pop()方法将栈顶元

素弹出。在判断括号是否匹配时,可以使用字典来存储每个左括号对应的右括号,

以便快速查找。具体实现时,首先读入整数n,表示有n行字符串需要判断。然后对

于每行字符串,使用栈来存储左括号,遍历字符串中的每个字符,根据字符类型进

行相应的操作。最后根据栈是否为空来判断括号是否匹配,并输出相应的结果。

3、扑克牌排序

假设这里有36张扑克牌,分别为A1~A9,B1~B9,C1~C9,D1~D9,其中A代表方片,B

代表草花,C代表红桃,D代表黑桃,那么,设定如下的排序规则:

1.对于两张卡牌,X1Y1与X2Y2,X1与X2表示A~D,Y1与Y2表示1~9,如果X1

与X2不同,那么依照DCBA的方式进行排序

2.假如有X1与X2相同时,那么就比较Y1与Y2的大小。

例如,对于如下的四张牌,有如下的升序排序结果:

D3,C4,A4,C1

升序排序的结果为A4,C1,C4,D3

有人提出了如下的排序策略:

先建立9个队列,用于存放点数的大小,将卡牌依点数存放入各自的队列之中,然

后再按队列1到队列9依次出队。

例如,对于上面的结果,依次进队后,结果如下:

队列1:C1;队列3:D3,队列4:C4,A4

将其依次出队后,结果为C1

文档评论(0)

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

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

1亿VIP精品文档

相关文档