UVA - 1586 Molar Mass
来源:互联网 发布:软件行业优惠政策 编辑:程序博客网 时间:2024/05/17 04:19
UVA - 1586 Molar Mass
题目大意:给出只含 C,H,O,N 的分子,求分子量。
解题思路:找到原子,提取原子后的数字即原子个数,乘原子量再相加即可。字符减去 ‘0’ 化为对应数字,连续数字乘以 10 进位后再加。
#include<cstdio>#include<cstring>#include<cctype>double molar[4]={12.01,1.008,16.00,14.01};int aaa[20];int main(){ aaa[2]=0;aaa[7]=1;aaa[14]=2;aaa[13]=3; int cc; scanf("%d",&cc); char temp[10000]; while(cc--) { memset(temp,0,sizeof(temp)); scanf("%s",temp); char a; int b=0; double sum=0; for(int i=0;i<strlen(temp);i++){ if(isalpha(temp[i])) { a=temp[i]; if(isalpha(temp[i+1])||temp[i+1]=='\0') b=1; } else if(isdigit(temp[i])) { while(isdigit(temp[i])) { b+=temp[i]-'0'; b*=10; i++; } b/=10; i--; } if(b&&b==1) {sum+=molar[aaa[a-'A']]; b=0; } else { sum+=molar[aaa[a-'A']]*b; b=0; } } printf("%.3lf\n",sum); } return 0;}
0 0
- uva 1586 - Molar mass
- UVa 1586 - Molar mass
- UVa 1586 - Molar mass
- UVA 1586 ----Molar mass
- UVA 1586 - Molar mass
- UVa 1586 Molar mass
- UVa 1586 - Molar Mass
- UVA - 1586 Molar mass
- uva 1586 - Molar mass
- UVA 1586 Molar mass
- UVa 1586 - Molar mass
- UVa-1586Molar mass
- 【Uva 1586】 Molar mass
- UVA - 1586 Molar mass
- uva 1586 - Molar mass
- Uva - 1586 - Molar mass
- Uva 1586 Molar mass
- UVa 1586 Molar Mass
- Suse linux 11 SP3安装VMWare Tools时问题的解决
- UVA - 10361 Automatic Poetry
- HBase 结构设计
- 怎样防止大规模的恶意请求
- 抠像技术介绍
- UVA - 1586 Molar Mass
- spring一些知识点总结,包括spring和hibernate,spring和struts2的整合
- 【JZOJ 4624】字符串匹配
- ACM 常用几何基本数学公式
- Nginx获取自定义头部header的值
- UVA - 10340 All in All
- 【NOIP2016A组模拟7.13】字符串匹配 题解+代码
- nyoj 26 孪生素数问题
- WIFI密码破解与网络数据抓包