题目:给出O与X组成的字符串,O得分为连续出现O的个数,X得分为零。例如,OOXXOXXOOO得分为1+2+0+0+1+0+0+1+2+3。
解题思路:遍历字符串,查找O时用一个计数器,总数+=计数器即可,每次查找到X是时重置计数器。
已通过vj测试。
#include<iostream>
#include<string.h>
using namespace std;
#define maxn 85
char s[maxn];
int main()
{
int n;
cin >> n;
while (n--) //做输入输出循环
{
cin >> s;
int score = 0; //最后输出的分数
int flag = 1; //计数器
for (int i = 0; i < strlen(s); i++)
{
if (s[i] == 'X')
flag = 1;
if (s[i] == 'O')
{
score += flag;
flag++;
}
}
cout << score << endl;
}
return 0;
}
初学者代码,望指正!