得分(Score,ACM/ICPC Seoul 2005,UVa1585)

今天做了一道刘汝佳算法竞赛上面推荐的一道题,得分问题,题目不是很难。

题目

得分(Score,ACM/ICPC Seoul 2005,UVa1585)
给出一个由O和 X组成的串(长度为1-80),最多有十个串,统计得分。每个O的得分为目前连续出现的O的个数,X 的得分为0;
样例输入
2
OOXXOXXOOO
OOOOOXXOXOXOXOXOXO
样例输出
1+2+0+0+1+0+0+0+1+2+3=10
1+2+3+4+5+0+0+1+0+1+0+1+0+1+0+1+0+1=21

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 10
#define MAX 80
int main()
{
    char s[N][MAX];
    int a,i,j,sum,c0;
    c0=sum=0;
    scanf("%d",&a);
    for(i=0;i<a;i++)
    {
        scanf("%s",s[i]);
    }
    for(i=0;i<a;i++)
    {
        sum=0;
        for(j=0;s[i][j]!='\0';j++)
        {
            if(s[i][j]=='o'||s[i][j]=='O')
            {
                c0++;
                printf("%d",c0);
            }
            else
            {
                c0=0;
                printf("%d",0);
            }
            if(s[i][j+1]=='\0')
            {
                printf("=");
            }
            else
            {
                printf("+");
            }
            sum+=c0;
        }
        printf("%d\n",sum);
    } 
    return 0;
}
运行测试结果
运行结果

总结

这道题一方面考察了字符串的输入读取,另一方面考察了循环与判断,主要就是符合格式输出就ok了。
本来想去UVaOJ网站提交这个题看有没有错误,结果没能登进去系统,自己运行测试了一下,感觉没啥问题,发出来让大家帮忙看看。
加油!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容