水题 UVA 1586 - Ancient Cipher化学式分子量计算
生活随笔
收集整理的這篇文章主要介紹了
水题 UVA 1586 - Ancient Cipher化学式分子量计算
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原題見(jiàn):http://acm.hust.edu.cn/vjudge/contest/view.action?cid=106424#overview
題目要求,根據(jù)所給化學(xué)量與原子量計(jì)算化學(xué)式的相對(duì)分子質(zhì)量。。。其實(shí)就是怎么對(duì)應(yīng)起來(lái)的事。
?
?
?
代碼如下:
1 #include <stdio.h> 2 //給出一種物質(zhì)的分子式(不帶括號(hào)),求分子量。 3 //本題中的分子式只包含4種原子:C,H,O,N,原子量分別為12.01,1.008,16.00,14.01. 4 int main() 5 { 6 int t,i; 7 scanf("%d", &t); 8 9 while (t--) 10 { 11 char s[100]; 12 scanf("%s",s); 13 double sum = 0,num; 14 15 for (i = 0; s[i]!='\0' ; i++) 16 { 17 if ('0'<=s[i+1] && s[i+1]<='9') 18 { 19 if ('0'<=s[i+2] && s[i+2]<='9') 20 num=10*(s[i+1]-'0')+s[i+2]-'0'; 21 else 22 num=s[i+1]-'0'; 23 } 24 else num = 1; 25 26 if(s[i]=='N') sum+=14.01*num; 27 else if(s[i]=='C') sum+=12.01*num; 28 else if(s[i]=='H') sum+=1.008*num; 29 else if(s[i]=='O') sum+=16.00*num; 30 } 31 printf("%.3lf\n",sum); 32 } 33 return 0; 34 } View Code????? 我的思路嘞,基本是按照字符來(lái)確定化學(xué)式進(jìn)而去求質(zhì)量。。嗯
轉(zhuǎn)載于:https://www.cnblogs.com/ivangin/p/5191322.html
總結(jié)
以上是生活随笔為你收集整理的水题 UVA 1586 - Ancient Cipher化学式分子量计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用JSON-server模拟REST A
- 下一篇: UPX 加壳工具:The Ultimat