您的位置:首页 > 其它

UVA1586 - Molar mass

2015-02-04 12:12 302 查看
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
double a[80];
a[67]=12.01;a[72]=1.008;a[78]=14.01;a[79]=16.00;// C H N O
char s[50];
int i,j,k,n;
double l,sum=0;
scanf("%d",&n); getchar();
for(i=0;i<n;i++){
gets(s);
sum=0;l=0;k=0;
int len=strlen(s);
for(j=0;j<len;j++){
if(isalpha(s[j])){
l=a[s[j]];
k=1;
if(j+1<len && s[j+1]>='0'&& s[j+1]<='9'){
for(k=0; j+1<len &&isdigit(s[j+1]);j++)
k=k*10+s[j+1]-48;
}
sum=sum+l*k;
}
}
printf("%.3f\n",sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: