PART 1 题目描述
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3=10。
PART 2 测试样例
PART 3 思路
首先,这道题是道比赛题,所以需要文件读写格式。
根据题目范围定义char a[85];
定义计数器*2(用来计算分数)并归零
循环输入a[i]
循环判断a[i]是否等于79(O)或88(X)
如果a[i]=79(O) 那么计数器1号++,与计数器2号相加;
如果a[i]=88(X) 那么计数器1号归零,与计数器2号相加;
最后输出计数器2号
完结撒花
PART 4 代码
#include<bits/stdc++.h>
using namespace std;
char a[85];
int main(){
freopen("score.in","r",stdin);
freopen("score.out","w",stdout);
int anss=0,cntt=0;
for(int i=1;i<=80;i++){
scanf("%c",&a[i]);
int s=a[i];
if(s==79){
cntt++;
anss=anss+cntt;
}
else if(s==88){
cntt=0;
anss=anss+cntt;
}
}
cout<<anss;
}
PART 5 水字数环节
如果a[i]=79(O) 那么计数器1号&