1586 - Molar mass

来源:互联网 发布:另类宠物知乎 编辑:程序博客网 时间:2024/06/03 22:01
#include <iostream>#include <string.h>#include <string>using namespace std;int main(){string input;int n;cin>>n;for(int j=0;j<n;j++){cin>>input;int cnt = 1;double m =0.0;double res_m = 0.0;for(int i=0;i<input.size();i++){if(isalpha(input[i]) != 0){res_m += m*cnt;cnt = 1;switch(input[i]){case 'C':m = 12.01;break;case 'H':m = 1.008;break;case 'O':m = 16.00;break;case 'N':m = 14.01;break;}}else{if(i-1>=0 && isalpha(input[i-1]) != 0){cnt = input[i]-'0';}else cnt = cnt*10+(input[i]-'0');}}res_m += m*cnt;printf("%.3f\n",res_m);}return 0;}

0 0