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;
}
不忘初心方得始终