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

#include<string.h>
#include <stdio.h>

int judge(char a,char b)
{
char left[4]={'{','[','(','<'},right[4]={'}',']',')','>'};
int i;
for(i=0;i<4;i++)
if(a==left[i])
if(b==right[i])
return(1);
return(0);
}

int value(char a)
{
switch(a)
{
case '{':
return 1;
case '[':
return 2;
case '(':
return 3;
case '<':
return 4;
case '>':
return 5;
case ')':
return 6;
case ']':
return 7;
case '}':
return 8;
default :
return 0;
}

}
main()
{
char bracket[20];
int i,j;
scanf("%s",bracket);
if(strlen(bracket)%2==0)
for(i=0;i<strlen(bracket);)
{
if(judge(bracket[i],bracket[i+1]))
{
if(i && value(bracket[i-1])>=value(bracket[i])) //若{{ }}这样可以,将=运算
{
printf("there is some wrong with the program\n");
i=100;
break;
}
for(j=i;j<strlen(bracket);j++)
if(j<strlen(bracket)-2)
bracket[j]=bracket[j+2];
else
{ bracket[j]='\0';
bracket[j+1]='\0';
}
if(i) i--;
}
else
i++;

}
else
{ printf("there is some wrong with the program\n");
i=100;
}
if(strlen(bracket)==0)
printf("there is no wrong with the program\n");
else
if(i!=100)
printf("there is some wrong with the program\n");
}


雁无留踪之意,水无取影之心
2007-03-19 21:14
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
打错字了

//若{{ }}这样可以,将=去掉

雁无留踪之意,水无取影之心
2007-03-19 21:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zhanghuan_10在2007-3-19 16:43:14的发言:
<()>就是不对的。

这个是对的.


倚天照海花无数,流水高山心自知。
2007-03-19 22:12
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 

???
怎么是对的呢?
嵌套不是有优先级么


“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-19 22:28
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
楼主,你不要害我啊

雁无留踪之意,水无取影之心
2007-03-19 22:29
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

输入范例:
{[(<>)]}
{}
<(>)
<()>

返回:
true
true
false
false

这可是你发的啊


雁无留踪之意,水无取影之心
2007-03-19 22:31
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
我看错了.看错优先级了.

倚天照海花无数,流水高山心自知。
2007-03-19 22:34
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
{{}}这个可不可以啊

雁无留踪之意,水无取影之心
2007-03-19 22:38
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
楼主,明天再与你理论,要停电了,下了

雁无留踪之意,水无取影之心
2007-03-19 22:59
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
用回文法做的第一题
#include"stdio.h"
main()
{
int i=0,j,a[10];
char c;
while(scanf("%c",&c)&&c!='0')
a[i++]=(c=='<'||c=='>'?c-30:c);
for(j=0;j<i/2;j++)
if(a[j]!=a[i-j-1]-2&&a[j]<a[j+1])
break;
if(i%2==0&&j==i/2)
printf("true");
else
printf("false");
}

[此贴子已经被作者于2007-3-20 12:58:50编辑过]


羊肉串 葡萄干 哈密瓜!!
2007-03-19 23:17
快速回复:[讨论]第八次编程题目,谢谢大家的支持.
数据加载中...
 
   



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

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