c语言 分子量
//问题:分子量,给出一种物质的分子的原子量求其分子量.本题中只含有四种原子,C,H,O,N,原子量分别是12.0.,1.008,16.00,14.01;
//解题思路判断字母的下一位是否为数字
#include<stdio.h>
const int maxn=1000;
char s[maxn];
int main(){
char c;
double arr[200];
arr['C']=12.01;
arr['O']=16.00;
arr['H']=1.008;
arr['N']=14.01;
//输入字符串
scanf("%s",s);
int i=0;
double w=0;
//循环遍历s字符串
while(s[i]!='\0'){
int sum=0;
c=s[i];
i++;
//判断下一位是否为数字
while(s[i]>='0'&&s[i]<='9'){
//如果数字 求出数字大小
sum=sum*10+s[i]-'0';
//进行自加 便以判断下一位
i++;
}
//如果有数字进行以下操作
if(sum)w+=sum*arr[c];
else w+=arr[c];
}
printf("%.3f g/mol\n",w);
return 0;
}