问题描述
Byteasar迷恋上了'q'这个字母。 在他眼前有一个小写字母组成的字符串$S$,他想找出$S$的所有仅包含字母'q'的连续子串。但是这个字符串实在是太长了,你能写个程序帮助他吗?
输入描述
输入的第一行包含一个正整数$T(1\leq T\leq10)$,表示测试数据的组数。 对于每组数据,包含一行一个小写字母组成字符串$S$,保证$S$的长度不超过$100000$。
输出描述
对于每组数据,输出一行一个整数,即仅包含字母'q'的连续子串的个数。
输入样例
2 qoder quailtyqqq
输出样例
1 7
#include<stdio.h>
#include<string.h>
int main(void)
{
char c;
long long int count,num;//要用longlong型变量,不然会出错
int n;
count=0;
num=0;
scanf("%d%*c",&n);
while(1){
c=getchar();
if(c=='\n'){
count+=(1+num)*num/2;
printf("%lld\n",count);
count=0;
num=0;
n--;
if(n==0){
break;
}
}
else if(c=='q'){
num++;
}
else{
count+=(1+num)*num/2;
num=0;
}
}
return 0;
}