Molar Mass—Uva1586

来源:互联网 发布:《电力网络》 编辑:程序博客网 时间:2024/06/05 00:30

给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C,H,O,N,原子量分别为12.01,1.008,16.00,14.01(单位:g/mol)。例如,C6H5OH的分子量为94.108g/mol。

#include<stdio.h>#include<string.h>int main(){char a[50];float mol[4]={12.01,1.008,16.00,14.01},sum=0;scanf("%s",a);int l=strlen(a);for(int i=0;i<l;i++){if(a[i]=='C'){if('0'<=a[i+1]&&a[i+1]<='9')sum+=(a[i+1]-'0')*mol[0];else sum+=mol[0];}if(a[i]=='H'){if('0'<=a[i+1]&&a[i+1]<='9')sum+=(a[i+1]-'0')*mol[1];else sum+=mol[1];}if(a[i]=='O'){if('0'<=a[i+1]&&a[i+1]<='9')sum+=(a[i+1]-'0')*mol[2];else sum+=mol[2];}if(a[i]=='N'){if('0'<=a[i+1]&&a[i+1]<='9')sum+=(a[i+1]-'0')*mol[3];else sum+=mol[3];}if('0'<=a[i+1]&&a[i+1]<='9')continue;}printf("%.3fg/mol",sum);return 0;} 



原创粉丝点击