UVa1586 Molar mass
2016-11-12 19:37
295 查看
题目链接 http://vjudge.net/problem/UVA-1586
#include<stdio.h> #include<string.h> #include<ctype.h> double test(char c) { if(c=='C') return 12.01; else if(c=='H') return 1.008; else if(c=='O') return 16.00; else if(c=='N') return 14.01; } int main() { int t; scanf("%d",&t); char s[90]; for(int i=0;i<t;i++) { memset(s,'\0',sizeof(s)); scanf("%s",s); double score=0; int ls=strlen(s); int cur=0; while(cur<ls) { if(cur!=ls-1&&isalpha(s[cur])&&isdigit(s[cur+1])) //如果当前字母的下一个字符为数字 { int d=0; //保存数字大小 int w=0; //保存数字长度 for(int j=cur+1;isdigit(s[j])&&j<ls;j++) //计算数字长度 w++; for(int j=1;j<=w;j++) { d*=10; d+=(s[cur+j]-'0'); //计算数字大小 } score+=(test(s[cur])*d); cur+=(w+1); //更新cur } else //如果当前字母的下一个字母还为字母,则只计算当前字母 { score+=test(s[cur]); cur++; } } printf("%.3lf\n",score); } return 0; }
相关文章推荐
- Molar Mass, ACM/ICPC Seoul 2007, UVa 1586
- UVa-1586 Molar mass
- UVA 1586 ----Molar mass
- UVa 1585 Score / 1586 Molar Mass(遍历+计数)
- UVa-1586 Molar mass
- 分子量 (Molar Mass,ACM/ICPC Seoul 2007,UVa 1586)
- UVA 1586 ----Molar mass
- UVa 1586 Molar mass
- Problem 008——UVa 1586 - Molar mass
- uva 1586 Molar mass
- UVA 1586 - Molar mass
- uva1586 - Molar mass
- 算法竞赛入门经典 第三章 uVa1586 - Molar mass
- UVa1586——Molar Mass
- UVA1586 - Molar mass
- UVa 1586 - Molar mass
- UVa 1586 Molar mass
- Uva 1586 Molar mass
- 分子量 (Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 【Uva 1586】 Molar mass