题目描述:
给出一个由O和X组成的串,长度为1~80,统计得分,每个O的得分为目前连续出现的O的个数,X的得分为0。例如:OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3=10。
最终输出这个值。
#include<stdio.h>
#include<string.h>
int main()
{
int i,a;
char b[81];
scanf("%s",&b);
int sum=0;
int j=0,k;
sum=strlen(b);//求出串的长度
int total=0;
for(i=0;i<sum;i++)//遍历整个串
{
if(b[i]=='O')// 发现“O”时
{
j++;//j的值加一
total+=j;//总数加j例如两个连续的O,j=0,j=j+1=1,total=0,total=total+j=1,j=1,j=j+1=2,total=1,total=total+j=1+2=3.
}
else
j=0;//如果不是O,则只需要j=0即可
}
printf("%d\n",total);
return 0;
}