16 - 11 - 23 得分 - UVA 1585 --《算法竞赛入门经典》

来源:互联网 发布:贴图软件 编辑:程序博客网 时间:2024/06/05 04:09

给出一个由O和X组成的串(长度为1~80),统计得分。每个O的分数为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。
分析:此题很简单,两个变量一个用于记录当前O的分数,另外一个变量用来累加分数。

#define MAX 100#include<string.h>      #include<stdio.h>int main(){    char s[MAX];    int n,score = 0;    scanf("%s",s);    n = strlen(s);    int i = 0;    while(n)    {        int j = 0;        if(s[i] == 'X'){            i++; n--;        }        if(s[i] == 'O'){            do{                j++; i++; n--;                score = score + j;             }while(s[i] == 'O' );        }    }    printf("%d ",score);    return 0;}
1 0