首页 > 代码库 > UVa1586,Molar Mass
UVa1586,Molar Mass
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
double c,h,o,n;
int t,i,j;
cin>>t;
getchar();
double ans;
char s[100];
while (t-->0)
{
gets(s);
c=0;
h=0;
o=0;
n=0;
int len=strlen(s);
i=0;
j=0;
while(i<len){
if (s[i]>=‘A‘&&s[i]<=‘Z‘){
if (s[i+1]>=‘0‘&&s[i+1]<=‘9‘)
{
j=j*10+s[i+1]-‘0‘;
if (s[i+2]>=‘0‘&&s[i+2]<=‘9‘) j=j*10+s[i+2]-‘0‘;
} else j=1;
if(s[i]==‘C‘) c+=j;
if(s[i]==‘H‘) h+=j;
if(s[i]==‘O‘) o+=j;
if(s[i]==‘N‘) n+=j;
j=0;
}
i++;
}
printf("%.3lf\n",c*12.01+h*1.008+o*16.00+n*14.01);
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。