C++编一道判断左右括号的问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 11:40:50
任意输入比如((()(()(()(() 检测 左开口的括号和右开口的括号数量是否相等 如果相等则输出相等 不相等的话则输出哪边比哪边多

#include<stdio.h>
#include<string.h>
int main()
{
char x[100];
scanf("%s",x);
int i,left=0,right=0;
int l=strlen(x);
for(i=0;i<l;i++)
if(x[i]=='(')
left++;
else
right++;
if(left==right)
printf("左右括号相等\n");
else
{
if(left>right)
printf("左括号比右括号多\n");
else
printf("右括号比左括号多\n");
}
return 0;
}
已测试通过呵。

#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin >> s;

int left=0,right=0;
for( int i=0; i!=s.size(); ++i )
if( s[i] == '(' )
++left;
else if( s[i] == ')' )
++right;

if( left == right )
cout << "相等" << endl;
else if( left > right )
cout << "左括号