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;
}


posted @ 2017-03-20 21:03  qingtianBKY  阅读(1272)  评论(0编辑  收藏  举报