| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7501 人关注过本帖
标题:[讨论]第八次编程题目,谢谢大家的支持.
只看楼主 加入收藏
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
a[10]...

羊肉串 葡萄干 哈密瓜!!
2007-03-20 03:09
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
回复:(nuciewth)写了第一个.看看有什么BUG没.[em03...
有bug输入单个{或{{{得到true
(){}true (){[]}flase这两个结果矛盾

[此贴子已经被作者于2007-3-20 8:30:35编辑过]


英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-03-20 07:58
iwfy
Rank: 1
等 级:新手上路
威 望:2
帖 子:888
专家分:0
注 册:2007-2-23
收藏
得分:0 
回复:(mp3aaa)以下是引用iwfy在2007-3-19 16:24:15...
楼主的题目要求不明确,致大家有不同的理解,从楼主做的看来,同级的括号可以并排
高级的括号能不能包含并排的低口号没说清楚。

[此贴子已经被作者于2007-3-20 8:28:24编辑过]


英语不好还想学编程??逆天之路,不由分说!! 数学太差还想学编程??离经叛道,义无返顾!!
2007-03-20 08:24
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

有没有人发现我的程序有BLUG啊,好像就我没有被说了


雁无留踪之意,水无取影之心
2007-03-20 09:37
luckdog0426
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-3-1
收藏
得分:0 

楼上这样子的话,那那个数组拿来干吗?我看了半天不知道数组起什么用~~

2007-03-20 09:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
LS说的是哪个数组,我定义了三个

雁无留踪之意,水无取影之心
2007-03-20 09:47
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
{}[]到底可不可以啊?
怎么大家都认为不可以呢?

2007-03-20 10:31
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
可以

雁无留踪之意,水无取影之心
2007-03-20 10:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
括号配对的条件:括号必须先左后右,并且左右括号数量相等;对于多重括号,从外到内嵌套顺序为:{} -> [] -> () -> <>。例如{[(<>)]}。
可能是我疏忽了,我本以为这句话应该不会产生歧义.我认为题目只说有嵌套括号时,不能出现低优先级里出现高优先级.所以可以嵌套同级括号的.
再者{}[]之类的,应该符合,它不是嵌套.

倚天照海花无数,流水高山心自知。
2007-03-20 10:51
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

#include<stdio.h>

int main()
{
char str[100];
int a[100];
int top,i,j,min,flag;
while(EOF!=(scanf("%s",str)))
{
top=0;
min=5;//设定当前优先级
for(i=0;str[i]!='\0';i++)
{
flag=1;//左括号
switch(str[i])
{
case '{': a[top]=4;break;
case '[': a[top]=3;break;
case '(': a[top]= 2;break;
case '<': a[top]=1;break;
default :flag=0;break; //右括号
}
if(flag==1)
{

if(a[top]>min)
{
printf("false\n");
return 1;
}
else
{
min=a[top];
top++;
}
}
else
{
switch(str[i])
{
case '}': a[top]=-4;break;
case ']': a[top]=-3;break;
case ')': a[top]= -2;break;
case '>': a[top]=-1;break;
default :printf("false\n"); return 1;
}
if(top<1||-1*a[top-1]!=a[top])
{
printf("false\n");
return 1;
}
else
{
if(top>1)
{
top--;
min=a[top-1];
}
else
{
top=0;
min=5;
}
}
}
}
if(top==0)
{
printf("ture\n");
}
else
{
printf("false\n");
}
}
return 1;
}

谢谢iwfy.


倚天照海花无数,流水高山心自知。
2007-03-20 11:13
快速回复:[讨论]第八次编程题目,谢谢大家的支持.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017584 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved