相对分子质量

您所在的位置:网站首页 pbs相对分子质量 相对分子质量

相对分子质量

2023-10-07 13:33| 来源: 网络整理| 查看: 265

题目描述

小明最近迷上了化学,几乎天天在实验室做实验,但是很多实验生成的化学产物的相对分子质量令他很困惑,不知如何计算,请你编程帮他计算。

输入

输入的第一行是一个正整数n,表示有n组测试数据。 接下来n行每行输入一个字符串,表示某个分子式,分子式中只包含大写字母和数字。 注意:每个分子式长度没超过20.输入数据只包含8种元素,而这8种元素的相对原子质量如下:

H(1),C(12),N(14),O(16),F(19),P(31),S(32),K(39)。

输出

对于每组输入,输出相对分子质量。

样例输入

4 H2O KOH CH4 SO2

样例输出

18 56 16 64

代码一

//可以去参照相对分子质量代码一的思想 #include #include using namespace std; int convert(char c){ switch(c){ case 'H':return 1;break;//' ' case 'C':return 12;break; case 'N':return 14;break; case 'O':return 16;break; case 'F':return 19;break; case 'P':return 31;break; case 'S':return 32;break; case 'K':return 39;break; default:break; } } int main(){ int n; scanf("%d",&n); getchar(); char str[21]; while(n--){ gets(str); int sum=0; for(int i=0;str[i]!='\0';i++){ if(str[i]>='A'&&str[i] sum+=convert(str[i])*(str[i+1]-'0');//'0' } else{ sum+=convert(str[i]); } } else if(str[i]>='0'&&str[i] int n; scanf("%d",&n); getchar(); char str[21]; int str1[10];//int str1['H']=1;str1['C']=12;str1['O']=16;str1['F']=19; str1['P']=31;str1['S']=32;str1['K']=39;str1['N']=14; while(n--){ gets(str); int sum=0; for(int i=0;str[i]!='\0';i++){ if(str[i]>='A'&&str[i] sum+=str1[str[i]]*(str[i+1]-'0');//'0' } else{ sum+=str1[str[i]];// } } else if(str[i]>='0'&&str[i]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3