您的位置:首页 > 其它

课后题--------求分子量-----Molar mass------

2016-01-28 08:50 190 查看








简单的化学式 求分子量问题 下面附上 代码和解析.

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std ;
int main()
{
double l,m,n,t,sum,w;
int i,q;
char a[200];
scanf("%lf",&t);
while(t--)
{
w=m=0;
scanf("%s",a);
l=strlen(a);
for(sum=i=0;i<l;i++)
{
q=n=0;
if(!(a[i]-'0'>=0&&a[i]-'0'<=9))  //当  这次不是数字     越界的时候 也不是数字哦.
{
if(a[i]=='C')
m=12.01;
else
if(a[i]=='H')
m=1.008;
else
if(a[i]=='O')
m=16;
else
if(a[i]='N')
m=14.01;
n=1;                            //用于处理    当这个化学元素没有后缀时的情况
}
if(a[i+1]-'0'>=0&&a[i+1]-'0'<=9)    //有后缀时.
{
i++;
n=0;
while(a[i]-'0'>=0&&a[i]-'0'<=9)
{
n=n*pow(10,q)+(a[i]-'0');
q++;
if(!(a[i+1]-'0'>=0&&a[i+1]-'0'<=9))
break;
i++;
}
}
sum=sum+m*n;
}
printf("%.3lf\n",sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: