小明最近迷上了化学,简直天天在实验室做试验,然而很多试验生成的化学产物的绝对分子品质令他很困惑,不知如何计算,请你编程帮他计算。
输出
输出的第一行是一个正整数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;//}