给出一种物质的分子式不带括号,求分子量。本题中的分子式只包含4种原子分别为CHON,原子量分别为12.01,1.008,16.00,14.01(单位g/mol)。例如,C6H5OH的分子量是94.108g/mol
#include <stdio.h>
int main()
{
float c=12.01,h=1.008,o=16.00,n=14.01;
float num=0.0;
char a[max];
scanf("%s",a);
for(int i=0;a[i]!='\0';i++)
{
float b=1;
if(a[i]=='C')
{
if(isdigit(a[i+1])) b=a[i+1]-48;
num+=c*b;
}
else if(a[i]=='H')
{
if(isdigit(a[i+1])) b=a[i+1]-48;
num+=h*b;
}
else if(a[i]=='O')
{
if(isdigit(a[i+1])) b=a[i+1]-48;
num+=o*b;
}
else if(a[i]=='N')
{
if(isdigit(a[i+1])) b=a[i+1]-48;
num+=n*b;
}
}
printf("%.3f g/mol\n",num);
}