习题3-1 得分(Score, ACM/ICPC Seoul 2005, UVa1585)
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+0+1+2+3 = 10
#include<stdio.h>
#include<string.h>
#define maxn 85
char buf[maxn]; // 输入的OX字符串缓冲区
int main() {
int T;
scanf("%d", &T);
while (T--) {
scanf("%s", buf);
int count = 0, score = 0;
for(int i = 0; buf[i]; i++)
if(buf[i] == 'O') score += (++count);
else count = 0;
printf("%d\n", score);
}
return 0;
}