社区讨论

求助

UVA1586分子量 Molar mass参与者 5已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lobfbv6u
此快照首次捕获于
2023/10/29 20:04
2 年前
此快照最后确认于
2023/11/04 01:37
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int g;
	double t=0;
	string k;
	scanf("%d",&g);
	for(int i=0;i<g;i++)
	{
		double n=0;
		scanf("%s",&k);
		for(int j=0;j<k.size();j++)
		{
		    if(j!=(k.size()-1))
		    {
			    if(k[i]=='C')
			    {
				    while('0'<k[j+1] and k[j+1]<'9')
				    {
					    n*=10;
					    n+=k[j+1];
					    n-=48;
					    j++;
				    }
				    t+=(12.01*n);
			    }
			    if(k[i]=='H')
			    {
				    while('0'<k[j+1] and k[j+1]<'9')
				    {
					    n*=10;
					    n+=k[j+1];
					    n-=48;
					    j++;
				    }
				    t+=(1.008*n);
			    }
			    if(k[i]=='O')
			    {
				    while('0'<k[j+1] and k[j+1]<'9')
				    {
					    n*=10;
					    n+=k[j+1];
					    n-=48;
					    j++;
				    }
				    t+=(16.00*n);
			    }
			    if(k[i]=='N')
			    {
				    while('0'<k[j+1] and k[j+1]<'9')
				    {
					    n*=10;
					    n+=k[j+1];
					    n-=48;
					    j++;
				    }
				    t+=(14.01*n);
			    }
		    }
		    else
		    {
		        if(k[i]=='C')t+=12.01;
		        if(k[i]=='H')t+=1.008;
		        if(k[i]=='O')t+=16.00;
		        if(k[i]=='N')t+=14.01;
		    }
		}
		printf("%d",t);
	}
	return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...