本文主要是介绍算法入门3-2,元素周期表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
没什么难的就是注意一下那个集合的表达式就好了。`
还有就是对字母和数字的判断,好像没有办法直接判断数字,那就两个组合判断。映射的初始化好像要放在函数内部?
#include<iostream>
#include<algorithm>
#include<map>
#include<cctype>
using namespace std;
map<char, double>s;
int main() {s['C'] = 12.01;s['H'] = 1.008;s['O'] = 16.00;s['N'] = 14.01;double sum = 0;char ch;cin >> ch;char b;int d = 0;while (cin >> b){if (isalpha(b)){if (d != 0)sum += s[ch] * d;else sum += s[ch];ch = b;d = 0;}if (isalnum(b) && !isalpha(b)){int g = d * 10;d =g+b-'0';//b本身就是字符不能打单引号}cout << sum << endl;}if (d == 0)sum += s[ch];else sum += s[ch] * d;cout << sum << endl;return 0;
}
这篇关于算法入门3-2,元素周期表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!