标题:我写了个匹配括号代码,请各位大神帮忙看看
只看楼主
bellaL
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-10-21
结帖率:0
已结贴  问题点数:20 回复次数:2 
我写了个匹配括号代码,请各位大神帮忙看看
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
int n,ans;
char a[10001];
scanf("%d",&n);
gets(a);
for(int i;i==0;i++)
{
if(a[i]='[')
ans++;
if(a[i]='[')
ans--;
}
if(ans==0) printf("YES");
else printf("NO");
return 0;
搜索更多相关主题的帖子: include return 
2016-10-21 20:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
for(int i;i==0;i++) 是错的,我猜你想要的是 for( size_t i=0; a[i]!='0'; ++i )
if(a[i]='[') ans--; 我猜你想要的是 if(a[i]=']') --ans;
ans 使用前也没赋值,我猜你想要的是 int ans=0;
n 不知道有什么用,你也不肯贴题目

算法也是错的,你只判断了 '[' 和 ']' 数目是否相等,假如我输入“][”,你肯定也判断其正确,但却是错误的

说说更多的,#include<iostream> 没有使用到,using namespace std;也没使用到,gets这个函数早就被C/C++废弃掉了,反正一塌糊涂就对了
2016-10-21 21:07
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:10 
回复 楼主 bellaL
if条件要==
2016-10-21 21:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470081-1-1.html




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

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