括号配对
Posted qq77530202
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了括号配对相关的知识,希望对你有一定的参考价值。
知识:字符串接受结束后自动加‘\0‘。 使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止*/
scanf 不能读取回车和储存
scanf不能接受空格、制表符Tab、回车等; 而gets能够接受空格、制表符Tab和回车等;
scanf碰到缓冲区里面的空字符(空格,tab,回车,换行就会截断并添加\0),而gets是要等回车才截断字符串并添加\0的
比如 "hello world!" 字符串长度为12 (字符串存储时结尾自动加上\0字符) 如果这样写 "hello \0world!" 字符串长度为6 (空格也算一个字符)
sprintf(a,"%2.2s",a);中第一个2表示最终生成的字符串不超过2个字符,如果超出了最后一位用字符串结束符填充,,第二个2表示在后面的字符串中最多去2个字符,
现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No。
- 第一:配对的前提:字符个数必须为偶数个
- 第二:第一与 N配对
- 第二与 N-1配对
- 循环结束条件为 j-i==1
以上是关于括号配对的主要内容,如果未能解决你的问题,请参考以下文章