码迷,mamicode.com
首页 > 编程语言 > 详细

《算法竞赛入门》-课后习题-Chapter 3

时间:2015-07-28 20:52:11      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

3-1 得分(Score)

#include <stdio.h>
#include <string.h>
#define MAX 82
int main()
{
    int i,k=0,sum=0;
    char s[MAX];
    scanf("%s",s);
    int len=strlen(s);
    for(i=0;i<len;i++)
    {if(s[i]==X) k=0;
        if(s[i]==O)  { ++k; sum=sum+k; }
    }
    printf("sum=%d\n",sum);
}

 

3-2 分子量(Molar Mass)

#include <stdio.h>
#include <string.h>
#define MAX 15
int main()
{
    freopen("test.txt","r",stdin);
    int i;
    double sum,m=0;
    char s[MAX];
    scanf("%s",s);
    int len=strlen(s);
    for(i=0; i<len; i++)
    {
        if(s[i]==C) {m=12.01;  sum+=m;} else
        if(s[i]==H) {m=1.008;  sum+=m;} else
        if(s[i]==O) {m=16.00;  sum+=m;} else
        if(s[i]==N) {m=14.01;  sum+=m;} else
            sum+=m*(s[i]-49);               //这个方法略傻,大家有啥更好的方法吗。求教T-T
    }
    printf("%s=%.3fg/mol",s,sum);
}

 

3-3 数数字

#include <stdio.h>
#include <string.h>
#define MAX 10005
int main()
{
    int i,j,b[10];
    char s[MAX];
    scanf("%s",s);
    memset(b,0,sizeof(b));
    int len=strlen(s);

    for(j=0;j<=9;j++)
        for(i=0;i<len;i++)
        {int k=s[i]-48; if(k==j) ++b[j];}

    for(i=0;i<=9;i++)
        printf("THE""%d"": %d times\n",i,b[i]);

    return 0;
}
    

 

《算法竞赛入门》-课后习题-Chapter 3

标签:

原文地址:http://www.cnblogs.com/l20902/p/4683948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!