(UVA)1586 --Molar Mass(分子量)
生活随笔
收集整理的這篇文章主要介紹了
(UVA)1586 --Molar Mass(分子量)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:http://vjudge.net/problem/UVA-1586
思路:統(tǒng)計(jì)一個(gè)分子式中CHON出現(xiàn)的總次數(shù),乘上相對(duì)原子量后求和。要注意的是CH4這樣的C后面的1默認(rèn)不出現(xiàn),以及C4H10這樣的后面的數(shù)字是兩位的情況。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 int t,len; 9 double c,h,o,n; 10 char s[80]; 11 scanf("%d",&t); 12 while(t--) 13 { 14 scanf("%s",s); 15 len = strlen(s); 16 int i=0,num=0; 17 c=0; h=0; o=0; n=0; 18 while(i<len) 19 { 20 if(s[i]>='A'&&s[i]<='Z') 21 { 22 if (s[i+1]>='0'&&s[i+1]<='9') 23 { 24 num=num*10+s[i+1]-'0'; 25 if (s[i+2]>='0'&&s[i+2]<='9') 26 num=num*10+s[i+2]-'0'; 27 }else num=1; 28 if(s[i]=='C') c+=num; 29 if(s[i]=='H') h+=num; 30 if(s[i]=='O') o+=num; 31 if(s[i]=='N') n+=num; 32 num=0; 33 } 34 i++; 35 } 36 printf("%.3lf\n",c*12.01+h*1.008+o*16.00+n*14.01); 37 } 38 return 0; 39 } View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/ACDoge/p/6127974.html
總結(jié)
以上是生活随笔為你收集整理的(UVA)1586 --Molar Mass(分子量)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 除去文章中的杂质
- 下一篇: sublime Text3 设置多个浏览