UVA1586...
  • 板块题目总版
  • 楼主_ryyr_
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/4/13 12:49
  • 上次更新2023/11/5 00:36:20
查看原帖
UVA1586...
414231
_ryyr_楼主2021/4/13 12:49

我错哪了。。。

#include<bits/stdc++.h>
using namespace std;
double fz[127];

int main()
{
	fz['C']=12.01,fz['H']=1.008,fz['O']=16.00,fz['N']=14.01;/*映射*/
	int T,ch,c;
	double sum=0,ans=0;
	cin>>T;ch=getchar();
	while(T--)
	{
		ans=sum=0;c=0;
		while((ch=getchar())!=EOF&&ch!='\n')
		{
			if(ch>='A'&&ch<='Z')
				ans+=sum*max(c,1),c=0,sum=fz[(int)ch];
			else
				c=c*10+ch-'0';
		}
		ans+=sum*max(c,1);
		printf("%.3lf\n",ans);//cout<<ans<<endl;
	}
	return 0;
}
2021/4/13 12:49
加载中...