给定一个字符串,字符串里面包含的有小括号,不会出现括号的里面存在括号的情况,求括号里面小写字母个数(可能括号不匹配,只有左括号,没有右括号)
#include<iostream>
using namespace std;
int main()
{
int nn;
char a[1010];
scanf("%d",&nn);
while(nn--)
{
scanf("%s",a);
int s=0,i,j,k;
for(i=0;a[i]!='
';i++)
{
if(a[i]=='(')
{
for(j=j+1;a[j]!=')';j++)
{
if(a[j]==')')
{
for(k=i+1;k<j;k++)
{
if(a[k]>='a'&&a[k]<='z')
s++;
}
i=j;
break;
}
}
printf("%d
",s);
}
return 0;
}
}
}
未来有机会写个变形的题目:中间可以有重复的括号
先留个地方。。。。
唉,先思路分析一波:先遍历这个字符串,利用另一个数组,遇到()就continue,将里面的小写字母遍历下来,然后求新数组的长度即可,这么看来还挺简单的。
那第一题又有一种解法了,后续更新。。。