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

  • 相关阅读:
    【Python3 爬虫】U27_多线程爬虫之Queue线程安全队列
    【Python3 爬虫】U26_多线程爬虫之生产者与消费者模式
    【Python3 爬虫】U25_多线程爬虫之多线程共享全局变量及锁机制
    【Python3 爬虫】U24_多线程爬虫之Thread类创建多线程
    Verilog 加法器和减法器(1)
    逻辑门电路详解
    RV32C指令集
    RV32A/RV64A指令集
    RV32M/RV64M指令集
    Risc-V指令集中文文档
  • 原文地址:https://www.cnblogs.com/laoyangtou/p/8855116.html
Copyright © 2020-2023  润新知