https://vjudge.net/problem/UVA-1585
题目大概意思是:给出一个由O和X组成的串(长度为1~80),统计得分。每一个O的得分为目前连续出现的O的个数,X的得分为0,例如:OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3.
思路:因为题目是要求连续的O,所以遇到X,就要重新统计O的个数;
代码:
#include<iostream>
#include<string.h>
using namespace std;
char s[81];
int main()
{
int n;
cin >> n;
while (n--)
{
int sum = 0;
cin >> s;
int temp = 0;
for (int i = 0; i < strlen(s); i++)
{
temp++;
if (s[i] == 'X')//遇到X,就要从0重新开始;
temp = 0;
sum += temp;
}
cout << sum << endl;
}
return 0;
}