UVA1586 分子量 元素下標任意位數版本

2021-08-10 13:41:27 字數 621 閱讀 7062

題目:給出乙個只包含4種原子,分別為c,h,o,n,求分子量。原子量分別為12.01, 1.008, 16.00, 14.01.例如c6h5oh的分子量為94.108

分析:1.該題難點在於判斷元素下標的提取(需要判斷得知下標多少位數)。

2.看過其他部落格也有同樣題目的解析,只是鄙人覺得不夠全面,因為其無法滿足元素下標3位數或更高位數。

**如下:

#include

#include

#include

#include

#include

#define maxn 100

char s[maxn];

int num(char* b,int q)        //num函式用來計算元素下標的數值

for(int i=0;isum函式用來計算分子量

return tot;

}int main()

;scanf("%d",&t);

while(t--){

scanf("%s",s);

int n=strlen(s);

int a[4];

memset(a,0,sizeof(a));

for(int i=0;i

第三章 UVa1586 解題報告

本題可以使用stl來簡化操作。我使用掃瞄字串一次並處理數字後相乘的辦法將所有的c h o n分成小塊,分別計算分子量之後相加。掃瞄字串時只關注當前下標i對應的s i 是不是字母,如果是,而且字母後面是數字,就提取數字後和字母的分子量相乘,加到總分子量中。如果s i 是字母,但s i 1 也是字母,則...

紫書習題3 2 分子量

讓人思考人生的一題 題意 給你乙個分子式,然後讓你計算它的分子量.1.首先要考慮元素連著的情況,然後分子量的計算要遇到後面的字母才計算 2.然後也要考慮數字是二位數以上的情況,所以不能用getchar必須整段字串輸入.4.開關cnt的妙用。用它來檢查字母狀態並順便計數,劉大爺nb.段 include...

熱幫浦精餾 精餾乾貨16 分子蒸餾

近十多年來,美國 日本 中國的台灣 西歐等地,都出現分子蒸餾 molecular distillation 裝置。分子蒸餾塔能在短時間內,將相同分子量的產品集中到一起,並將不同分子量的產品分別歸類,以供使用。它的特點是熱接觸時間短 分離距離短 真空度高,故可以實現低溫 高真空的理想操作,較好的防止原...