算典03_习题_02_Uva-1586
2017-02-13 17:07
253 查看
Molar mass
题解
计算相对分子质量从字符串中抽取字符和数字
如果当前是字符,下一个还是字符(或者为最后一个字符),就是1份
其它的抽出数字再乘上即可
#include <cstdio> #include <cctype> #include <cstring> #include <iostream> using namespace std; const int maxn = 1e2 + 5; #define met(a,b) memset(a, b, sizeof(a)); double a[30]; char s[maxn]; int len; int main(){ a['C' -'A'] = 12.01; a['H' -'A'] = 1.008; a['O' -'A'] = 16.00; a['N' -'A'] = 14.01; int t; cin>>t; while(t--){ scanf("%s", s); len = strlen(s); double res = 0; for(int i = 0; i < len;){ if(isalpha(s[i])){ double tmp = a[s[i] - 'A'], ans = 0; ++i; if(isalpha(s[i]) || i == len){ res += tmp; continue; } while(isdigit(s[i])){ ans *= 10; ans += s[i] - '0'; ++i; } res += ans*tmp; } } printf("%.3f\n", res); } return 0; }
相关文章推荐
- uva1586 字符串与数组03-习题2
- 习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 【习题3-2】 UVA - 1586 Molar mass
- 【习题 3-2 UVA - 1586】Molar mass
- 算典03_习题_07_UVA-1368
- 算典03_习题_08_UVA-202
- 算典03_习题_12_UVA-11809
- 算法竞赛入门竞赛 习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 算典03_习题_05_Uva-227
- 算法竞赛入门经典-习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
- 习题3-2 UVa1586
- 小紫书 习题 3-2(UVA 1586) 分子量(Molar mass)
- 算典04_习题_02_UVA-201
- 算典03_习题_03_Uva-1225
- 算典03_习题_10_UVA-1587
- 算典04_习题_03_UVA-220
- 习题 3-2 分子量 (ACM/ICPC Seoul 2007, UVa1586)
- 习题3-2 分子量 UVa1586
- 习题3-2 UVa 1586 Molar Mass
- 算典03_习题_01_Uva-1585