天天看點

習題3-2 Molar Mass UVa1586

題目連結:https://vjudge.net/problem/51477/origin

隻有四種原子,統計每個原子的個數,再分别乘上對應分子量就行;

上代碼

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int T;
double sum;
char s[];
double a[]={,,,};
int b[];
int main(){
    scanf("%d\n",&T);
    while(T--){
        sum=;
        b[]=;b[]=;b[]=;b[]=;
        scanf("%s",s);
        int len=strlen(s);
        for(int i=;i<len;i++){
            if(s[i]=='C'){
                if(s[i+]<='9'&&s[i+]>='0'){
                    if(s[i+]<='9'&&s[i+]>='0'){
                        b[]+=((s[i+]-'0')+(s[i+]-'0')*);
                    }
                    else{
                        b[]+=s[i+]-'0';
                    }
                }
                else
                    b[]+=;
            }
            if(s[i]=='H'){
                if(s[i+]<='9'&&s[i+]>='0'){
                    if(s[i+]<='9'&&s[i+]>='0'){
                        b[]+=((s[i+]-'0')+(s[i+]-'0')*);
                    }
                    else{
                        b[]+=s[i+]-'0';
                    }
                }
                else
                    b[]+=;
            }
            if(s[i]=='O'){
                if(s[i+]<='9'&&s[i+]>='0'){
                    if(s[i+]<='9'&&s[i+]>='0'){
                        b[]+=((s[i+]-'0')+(s[i+]-'0')*);
                    }
                    else{
                        b[]+=s[i+]-'0';
                    }
                }
                else
                    b[]+=;
            }
            if(s[i]=='N'){
                if(s[i+]<='9'&&s[i+]>='0'){
                    if(s[i+]<='9'&&s[i+]>='0'){
                        b[]+=((s[i+]-'0')+(s[i+]-'0')*);
                    }
                    else{
                        b[]+=s[i+]-'0';
                    }
                }
                else
                    b[]+=;
            }
        }
        for(int i=;i<;i++){
            sum+=a[i]*b[i];
        }
        printf("%.3f\n",sum);
    }
return ;
}