题意:给出物质的分子式,计算它的相对原子质量
因为原子的个数是在2到99之间的,所以找出一个是字母之后,再判断一下它的后两位就可以找出这种原子的个数了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; char s[];
double yuansu[]; int main()
{
int ncase,i,ans,len;
double tmp=;
scanf("%d",&ncase);
yuansu[]=12.01;
yuansu[]=1.008;
yuansu[]=16.00;
yuansu[]=14.01;
while(ncase--)
{
cin>>s;
len=strlen(s);
tmp=;
for(i=;i<len;i++)
{
ans=;
if(isalpha(s[i]))
{
if(isdigit(s[i+])&&isdigit(s[i+]))
ans+=s[i+]-''+(s[i+]-'')*;
else if(isdigit(s[i+]))
ans+=s[i+]-'';
else
ans=;
}
tmp+=ans*1.0*yuansu[s[i]-'A'];
}
printf("%.3lf\n",tmp);
}
}