ACM C语言算法 括号的深度Description经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧.括

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 23:44:43

ACM C语言算法 括号的深度Description经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧.括
ACM C语言算法 括号的深度
Description
经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧.括号匹配的规则参考编程语言中的括号合法性检查.
Input
第1行:一个字符串,包含字母、数字和英文括号'('、')',长度小于10000
多组测试数据,以文件结束EOF作为输入结束
Output
每组数据输出一行,第N组数据格式如下:
第N行:代表第N组数据的结果,如果括号是匹配的,输出最大的层数,如果括号不匹配,输出Error
Sample Input
(a)(b)(c)(d)(e)(f)(g)(h)
(())(((())))
(()))
Sample Output
1
4
Error
#include
#define LEN 10000+10
int main()
{
\x05char c[LEN];
\x05int l=0,r=0,i=0,flag=1,max=0;
\x05while(scanf("%s",c)!=EOF)
\x05{
\x05\x05i=0,flag=1,max=0;
\x05\x05l=0,r=0;
\x05\x05
\x05\x05while(1)
\x05\x05{
\x05\x05\x05if(c[i]=='(')
\x05\x05\x05\x05l++;
\x05\x05\x05if(c[i]==')')
\x05\x05\x05{
\x05\x05\x05\x05r++;
\x05\x05\x05\x05if(c[i+1]!=')')//如果(==)求出最大的层数max 输出 如果!=输出Error后设置flag=0使最后的printf不输出
\x05\x05\x05\x05{
\x05\x05\x05\x05\x05if(l==r)
\x05\x05\x05\x05\x05{
\x05\x05\x05\x05\x05\x05if(max

ACM C语言算法 括号的深度Description经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧.括
其实你需要的不是别人告诉你哪里错了.
你需要的只是一个能让你程序WA掉的数据.
通常都是要靠自己去想的,这里给你提供一个:
((R)(()))
答案应该是3吧,可能不对,或者你调整程序后即使这个数据过了还是有问题.
如有问题,请追问.