zoukankan      html  css  js  c++  java
  • 分子量

    题目

    给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4中原子,

    分别为C,H,O,N,分子量分别为12.01,1.008,16.00,14.01(单位:g/mol)。

    例如,C6H5OH的分子量为94.108g/mol。

    分析

    c*6+h*5+o+h = 94.108

    判断当前位为字符,同时下一位是字符或者数字;

    如果是字符,则加上当前位的原子量;

    如果是数字,则当前位的原子量乘以该数字;

    c实现

    #include<stdio.h>
    #include<string.h>
    #define maxn 101
    char a[maxn];
    const char* b="CHON";
    
    int main()
    {
        double sum=0.0;
        double c;
        scanf("%s",a);
        for(int i=0;i<strlen(a);i++)
        {
            int j=i;
            c=1.0;
            if(i+1<strlen(a) && strchr(b,a[i+1])==NULL){
                c=(a[i+1]-'1'+1)*1.0;
                i++;
            }
            switch(a[j])
            {
                case 'C':
                    sum += 12.01 * c;
                    break;
                case 'H':
                    sum += 1.008 * c;
                    break;
                case 'O':
                    sum += 16.00 * c;
                    break;
                case 'N':
                    sum += 14.01 * c;
                    break;
            }
        }
        printf("%.3f",sum);
        return 0;
    }
  • 相关阅读:
    第一册:lesson 117.
    第一册:lesson 115.
    Map集合。
    第一册:lesson 113.
    第一册:lesson 111.
    泛型。
    EXT.NET初学
    LINQ查询
    后台调用前端JS
    数字与数组或者字符串里面的内容比较
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12941514.html
Copyright © 2011-2022 走看看