Molar mass

来源:互联网 发布:mac 图片浏览 编辑:程序博客网 时间:2024/06/05 17:30
#include<stdio.h>
#include<string.h>




int main()
{
    char a[5000][100];
double f[5000]={0};
    int T,i,j,b,t,d;
    double e;
    scanf("%d",&T);
    for(j=0;j<T;j++)
    {
        scanf("%s",a[j]);
        for(i=0;i<strlen(a[j]);i++)
        {
            if(isdigit(a[j][i])==0)
            {
                switch(a[j][i])
                {
                    case'C':e=12.01;break;
                    case'H':e=1.008;break;
                    case'O':e=16.00;break;
                    case'N':e=14.01;break;
                }
                if(isdigit(a[j][i+1])==0)
                    f[j]+=e;


            }
            else
            {
                if(isdigit(a[j][i-1])==0)
                {
                    t=a[j][i]-'0';
                    if(isdigit(a[j][i+1]))
                    {
                        d=a[j][i+1]-'0';
                        b=t*10+d;
                        f[j]+=e*b;
                    }
                    else


                        f[j]+=e*t;
                }


            }
        }
    }
    for(i=0;i<T;i++)
    {
        printf("%.3lf\n",f[i]);
    }


    return 0;


}

这题很简单的,可是让我在uva上提交了好几遍,一直是编译错误,后来才发现有个头文件用错了,估计不是c里的。。。


0 0
原创粉丝点击