给出一个由O和X组成的串(长度为1~80),统计得分。每个O的分数为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。
分析:此题很简单,两个变量一个用于记录当前O的分数,另外一个变量用来累加分数。
#include <stdio.h>
#include <string.h>
#define maxn 80
char s[maxn];
int main()
{
int len;
while(scanf("%s", s) == 1){
int score = 0, num = 0;
len = strlen(s);
for(int i = 0; i < len; i++){
if(s[i] == ‘O‘){
num ++;
score += num;
}else
num = 0;
}
printf("%d\n", score);
}
return 0;
}
得分(Score, ACM/ICPC Seoul 2005, UVa 1585)
原文地址:http://blog.csdn.net/zhou554291911/article/details/46550023