翻遍全网都没有,所以我自己写了一个
const string chemh[119]= { //元素周期表
"It is EMPTY",
"氢","氦","锂","铍","硼","碳","氮","氧","氟","氖",
"钠","镁","铝","硅","磷","硫","氯","氩","钾","钙",
"钪","钛","钒","铬","锰","铁","钴","镍","铜","锌",
"镓","锗","砷","硒","溴","氪","铷","锶","钇","锆",
"铌","钼","锝","钌","铑","钯","银","镉","铟","锡",
"锑","碲","碘","氙","铯","钡","镧","铈","镨","钕",
"钷","钐","铕","钆","铽","镝","钬","铒","铥","镱",
"镥","铪","钽","钨","铼","锇","铱","铂","金","汞",
"铊","铅","铋","钋","砹","氡","钫","镭","锕","钍",
"镤","铀","镎","钚","镅","锔","锫","锎","锿","镄",
"钔","锘","铹","","","","","","","",
"","RE","RE","","镆","RE","RE","RE"//RE即打不出来或打出“釒”
};
const float chemn[119]= { //相对原子质量
0,1,4,7,9,11,12,14,16,19,20,23,24.31,27,28,31,32,35.5,40,39,40,
45,48,51,52,55,56,59,58.69,63.5,65.5,69.72,72.5,75,79,80,84,85.5,87.5,89,91.22,
93,96,98,101,103,106.4,107.9,112.4,114.8,118.7,121.8,127.6,126.9,
131.3,132.9,137.3,138.9,140.1,140.9,144.2,145,150.4,152,157.3,158.9,
162.5,164.9,167.3,168.9,173,175,178.5,180.9,183.8,186.2,190.2,192.2,
195.1,197,200.6,204.4,207.2,209,209,210,222,223,226,227,232,231,238,237,
244,243,247,247,251,252,257,258,259,262,267,270,269,270,270,278,281,281,285,
286,289,289,293,293,294
};
const string chemf[119]= { //元素符号
"It is EMPTY",
"H","He","Li","Be","B","C","N","O","F","Ne",
"Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca",
"Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn",
"Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr",
"Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn",
"Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd",
"Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb",
"Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg",
"Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th",
"Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm",
"Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds",
"Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og"
};
顺便送个完整的化学库w
//This file is. #ifndef _CHEMISTRY_H_ #define _CHEMISTRY_H_ #include #include #include #ifndef _FASTOIER_H_ using namespace std; #endif inline int chnum(string); //查询原子序数 inline void chsearch(string); //给定元素符号查询信息 inline float chrmm(string); //计算相对分子质量 inline int chsolve(string); //配平总函数 const string chemh[119]= { //元素周期表 "It is EMPTY", "氢","氦","锂","铍","硼","碳","氮","氧","氟","氖", "钠","镁","铝","硅","磷","硫","氯","氩","钾","钙", "钪","钛","钒","铬","锰","铁","钴","镍","铜","锌", "镓","锗","砷","硒","溴","氪","铷","锶","钇","锆", "铌","钼","锝","钌","铑","钯","银","镉","铟","锡", "锑","碲","碘","氙","铯","钡","镧","铈","镨","钕", "钷","钐","铕","钆","铽","镝","钬","铒","铥","镱", "镥","铪","钽","钨","铼","锇","铱","铂","金","汞", "铊","铅","铋","钋","砹","氡","钫","镭","锕","钍", "镤","铀","镎","钚","镅","锔","锫","锎","锿","镄", "钔","锘","铹","","","","","","","", "","RE","RE","","镆","RE","RE","RE"//RE即打不出来或打出“釒” }; const float chemn[119]= { //相对原子质量 0,1,4,7,9,11,12,14,16,19,20,23,24.31,27,28,31,32,35.5,40,39,40, 45,48,51,52,55,56,59,58.69,63.5,65.5,69.72,72.5,75,79,80,84,85.5,87.5,89,91.22, 93,96,98,101,103,106.4,107.9,112.4,114.8,118.7,121.8,127.6,126.9, 131.3,132.9,137.3,138.9,140.1,140.9,144.2,145,150.4,152,157.3,158.9, 162.5,164.9,167.3,168.9,173,175,178.5,180.9,183.8,186.2,190.2,192.2, 195.1,197,200.6,204.4,207.2,209,209,210,222,223,226,227,232,231,238,237, 244,243,247,247,251,252,257,258,259,262,267,270,269,270,270,278,281,281,285, 286,289,289,293,293,294 }; const string chemf[119]= { //元素符号 "It is EMPTY", "H","He","Li","Be","B","C","N","O","F","Ne", "Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca", "Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn", "Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr", "Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn", "Sb","Te","I","Xe","Cs","Ba","La","Ce","Pr","Nd", "Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb", "Lu","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg", "Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Th", "Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm", "Md","No","Lr","Rf","Db","Sg","Bh","Hs","Mt","Ds", "Rg","Cn","Nh","Fl","Mc","Lv","Ts","Og" }; inline int chnum(string ch) { //查询原子序数 for(int i=1; i<=118; ++i) if(chemf[i]==ch) return i; return -1; } inline void chsearch(string ch) { //给定元素符号查询信息 int num=chnum(ch); if(num==-1) { cout<<"No Find."< ='a'&&(n)<='z') #define isbig(n) ((n)>='A'&&(n)<='Z') #define isnumber(n) ((n)>='0'&&(n)<='9') inline float chrmm(string ch) { //计算相对分子质量 //rmm,Relative Molecular Mass,相对分子质量 if(!isbig(ch[0]))return -1; int len=ch.length(),i=0,i2,di; float tot=0; char c[3]="",c2[11]="";//防溢出 while(i


