zoukankan      html  css  js  c++  java
  • UVa 1586 Molar mass

    题意:给出物质的分子式,计算它的相对原子质量

    因为原子的个数是在2到99之间的,所以找出一个是字母之后,再判断一下它的后两位就可以找出这种原子的个数了

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring>  
     4 #include<algorithm>  
     5 using namespace std;
     6 
     7 char s[1005];
     8 double yuansu[5];
     9 
    10 
    11 int main()
    12 {
    13     int ncase,i,ans,len;
    14     double tmp=0;
    15     scanf("%d",&ncase);
    16     yuansu[2]=12.01;
    17     yuansu[7]=1.008;
    18     yuansu[14]=16.00;
    19     yuansu[13]=14.01;
    20     while(ncase--)
    21     {
    22         cin>>s;
    23         len=strlen(s);
    24         tmp=0;
    25         for(i=0;i<len;i++)
    26         {
    27             ans=0;
    28             if(isalpha(s[i]))
    29             {
    30                 if(isdigit(s[i+2])&&isdigit(s[i+1]))
    31                 ans+=s[i+2]-'0'+(s[i+1]-'0')*10;
    32                 else if(isdigit(s[i+1]))
    33                 ans+=s[i+1]-'0';
    34                 else
    35                 ans=1;            
    36             }        
    37             tmp+=ans*1.0*yuansu[s[i]-'A'];
    38         }
    39         printf("%.3lf
    ",tmp);        
    40     }
    41 }
    View Code
  • 相关阅读:
    HDU 5710 digit sum
    Fibonacci Tree HDU
    2016CCPC东北赛补题
    紫书水题
    20180415校赛
    随心所欲小游戏
    Alpha版本测试报告
    第四天作业
    第二天作业
    第一天作业
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4301337.html
Copyright © 2011-2022 走看看