UVa1585 - Score 题解

题目

题目链接

UVa1585 - Score

题目大意

给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0.例如OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。

样例输入

5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX

样例输出

10
9
7
55
30

题解

这道题跟着题目的要求来就能做出来的。
Then show the code.

#include <stdio.h>
#include <string.h>

int main(){
    char s[100];
    int T;
    scanf("%d", &T);

    while(T--){
        memset(s, 0, sizeof(s));
        scanf("%s", s);
        int len = strlen(s);
        int sum, temp;
        sum = temp = 0;
        //temp表示当前连续出现的O的个数
        for(int i=0; i<len; i++){
            if(s[i] == 'O'){
                sum += ++temp;
            }else if(s[i] == 'X'){
                temp = 0;
            }
        }
        printf("%d\n", sum);
    }

    return 0;
}
posted @ 2020-11-02 22:36  1v7w  阅读(715)  评论(0编辑  收藏  举报