#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[100];
int T;
cin>>T;
while(T--)
{
cin>>a;
double ans=0;
int n=strlen(a);
for(int i=0; i<n; i++)
{
int j=0;
int m=0;
for(int k=i+1; isdigit(a[k])&&k<n; k++) //注意此处的条件,如果是这种:C12H22O11,一定得k<n;
{
j=j*10+a[k]-48;//其实此处确定以后还要确定一种
//--->比如CH,CH之间没有数字,但是都是1,所以才会有 if(j==0)j=1;
m++;
}
if(j==0)j=1;
if(a[i]=='C')
{
ans+=j*12.01;
}
else if(a[i]=='N')
{
ans+=j*14.01;
}
else if(a[i]=='O')
{
ans+=16.00*j;
}
else if(a[i]=='H')
{
ans+=1.008*j;
}
i+=m;
}
printf("%.3lf\n",ans);
}
}
uva1586
猜你喜欢
转载自blog.csdn.net/weixin_45929885/article/details/113592739
今日推荐
周排行