小明最近迷上了化学,简直天天在实验室做试验,然而很多试验生成的化学产物的绝对分子品质令他很困惑,不知如何计算,请你编程帮他计算。
输出
输出的第一行是一个正整数n,示意有n组测试数据。
接下来n行每行输出一个字符串,示意某个分子式,分子式中只蕴含大写字母和数字。
留神:
输出数据只蕴含8种元素,而这8种元素的绝对原子质量如下:
H(1),C(12),N(14),O(16),F(19),P(31),S(32),K(39)。
输入
对于每组输出,输入绝对分子品质。
样例输出 Copy
4
H2O
KOH
CH4
SO2
样例输入 Copy
18
56
16
64

代码示例(本人写的,只能过平台,不完满)

//#include<iostream>//#include<string>//#include<string.h>//using namespace std;////int main(){//    int a[]  = {1,12,14,16,19,31,32,39};//    char b[] = "HCNOFPSK";//    int n = 0,sum = 0;//    char s[100];//    scanf("%d",&n);//    getchar();//    while(n--){//        scanf("%s",s);//        for(int i = 0; i < strlen(s); i++){//            int t = 0,c = 0;//            for(int j = 0; j < 8; j++){//                if(s[i] == b[j]){//                    c = a[j];//                    break;//                }//            }//            while((s[i + 1]) <= '9' && s[i + 1] >= '0'){//如果前面跟有字符型数字,计算数字的值 //                t = t * 10 + s[i + 1] - '0';//                i++;//循环增,遍历其后所有数字(若还有) //            }//            if(t == 0){//证实s[i]前面的s[i + 1]不是0-9,而是字母元素 //                sum += c; //            }else{//                sum += c * t; //            }////            printf("%d\n",sum); //        }//        printf("%d\n",sum);//        sum = 0;//    } //    return 0;//}