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

    #include<bits/stdc++.h>
    using namespace std;
    double f(char a)
    {
        if(a=='C') return 12.01;
        if(a=='H') return 1.008;
        if(a=='O') return 16.00;
        if(a=='N') return 14.01;
    }
    int main()
    {
        /*
        从前面开始算:
        t=0;
        t = t*10+(c[i]-'0');
        */
        char a[100];
        gets(a);
        int sum=0;
        double ans=0;
        int t=1;
        for(int i=strlen(a)-1; i>=0; i--)
        {
            sum=0;
            t=1;
            while(1)
            {
                if(!isalpha(a[i]))
                {
                    sum+=(a[i--]-'0')*t;
                    t*=10;
                }
                else
                {
                    if(sum==0)
                        ans+=(f(a[i]));
                    else
                        ans+=(f(a[i])*sum);
                    break;
                }
            }
        }
        printf("%.3f",ans);
        return 0;
    }

    我的思路是从后面开始遍历整个数组。

    从前面开始遍历的话,有一个公式需要掌握:

    t=0;

    t=t*10+(c[i]-'0');

    实现数字的处理。

    #include<bits/stdc++.h>using namespace std;double f(char a){    if(a=='C') return 12.01;    if(a=='H') return 1.008;    if(a=='O') return 16.00;    if(a=='N') return 14.01;}int main(){    /*    从前面开始算:    t=0;    t = t*10+(c[i]-'0');    */    char a[100];    gets(a);    int sum=0;    double ans=0;    int t=1;    for(int i=strlen(a)-1; i>=0; i--)    {        sum=0;        t=1;        while(1)        {            if(!isalpha(a[i]))            {                sum+=(a[i--]-'0')*t;                t*=10;            }            else            {                if(sum==0)                    ans+=(f(a[i]));                else                    ans+=(f(a[i])*sum);                break;            }        }    }    printf("%.3f",ans);    return 0;}

  • 相关阅读:
    zabbix agent安装(三)
    获取hudson持续构建编译结果的一种方法
    一些C/C++中的函数
    设置页眉的章节及标题方法
    编译64位geos库的经验总结
    无法定位程序输入点到_ftol2于动态链接库msvcrt.dll的错误的解决
    Java学习笔记(二)
    初学网络协议
    HTTPS与SSL(二)
    HTTPS与SSL(一)
  • 原文地址:https://www.cnblogs.com/laoyangtou/p/8855116.html
Copyright © 2011-2022 走看看