3-2. Uva1586 Molar mass

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3-2. Uva1586 Molar mass相关的知识,希望对你有一定的参考价值。

#include<cstdio>
#include<cstring>
using namespace std;
const double mol[4]={12.01,1.008,16.00,14.01};
void Do(){
        char c[100];
        double ans=0;
        memset(c,0,sizeof(c));
        scanf("%s",&c);

        for(int i=0;c[i]!=0;i++){
                double m=0;
                int n=0;
                int j=i+1;
                while(c[j]!=0&&c[j]<=57)
                {
                        n*=10;
                        n+=(int)c[j]-48;
                        j++;
                }
                //printf("-%d\n",j);
                if(n==0)n=1;
                if(c[i]==‘C‘)m=mol[0];
                if(c[i]==‘H‘)m=mol[1];
                if(c[i]==‘O‘)m=mol[2];
                if(c[i]==‘N‘)m=mol[3];
                //printf("%f * %d = %f \n",m,n,m*(double)n);
                ans+=m*(double)n;
                i=j-1;
        }
        printf("%.3f\n",ans);
}
int main(){
        //freopen("in.txt","r",stdin);
        int n;
        scanf("%d",&n);
        while(n){
                n--;
                Do();
        }
        return 0;
}

  

以上是关于3-2. Uva1586 Molar mass的主要内容,如果未能解决你的问题,请参考以下文章

分子量(Molar Mass UVa1586)

D - Molar mass (UVA - 1586)

UVa 1586 Molar mass --- 水题

(UVA)1586 --Molar Mass(分子量)

OI计算分子量 Molar mass UVa 1586 题解

UVa-1586 Molar mass (分子量)