【UVA 1586】Ancient Cipher

阅读: 评论:0

【UVA 1586】Ancient Cipher

【UVA 1586】Ancient Cipher

题意

给你一个只含CHON的有机物的化学式如C6H5OH求相对分子质量

分析

。。。

代码

switch

#include<cstdio>
#include<cctype>
int t;
double w,m[5]= {12.01,1.008,16.00,14.01};
char s[100];void add(int f,int i)
{if(isdigit(s[i+1]))if(isdigit(s[i+2]))w+=m[f]*((s[i+1]-'0')*10+s[i+2]-'0');else w+=m[f]*(s[i+1]-'0');else w+=m[f];
}int main()
{scanf("%d ",&t);//注意这里%d后面有个空格,这样就不怕后面读到回车啦while(t--){scanf("%s",s);w=0;for(int i=0; s[i]; i++){switch(s[i]){case 'C':add(0,i);break;case 'H':add(1,i);break;case 'O':add(2,i);break;case 'N':add(3,i);break;default:break;}}printf("%.3lfn",w);}return 0;
}

 

if

#include<cstdio>
#include<cctype>int t;
double w,m[5]= {12.01,1.008,16.00,14.01};
char p[5]="CHON";
char s[100];void add(int f,int i)
{if(isdigit(s[i+1]))if(isdigit(s[i+2]))w+=m[f]*((s[i+1]-'0')*10+s[i+2]-'0');else w+=m[f]*(s[i+1]-'0');else w+=m[f];
}int main()
{scanf("%d ",&t);//注意这里%d后面有个空格,这样就不怕后面读到回车啦while(t--){scanf("%s",s);w=0;for(int i=0; s[i]; i++)for(int j=0; j<4; j++)if(s[i]==p[j])add(j,i);printf("%.3lfn",w);}return 0;
}

 

  

转载于:.html

本文发布于:2024-02-02 22:21:07,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688366546820.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:UVA   Cipher   Ancient
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23