求助刚才比赛T3,输出都不对
  • 板块灌水区
  • 楼主thomas_zjl
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/11/22 17:13
  • 上次更新2023/11/5 07:31:11
查看原帖
求助刚才比赛T3,输出都不对
162084
thomas_zjl楼主2020/11/22 17:13

RT 代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a;
	int x;
	char s1,s2;
	for(int i=0;i<a.size();i++)
	{
		if(a[i]=='M'||a[i]=='K'||a[i]=='G'||a[i]=='B')
		{
			x=i;
			s1=a[i];
			break;
		}
	}
	for(int i=0;i<a.size();i++)
	{
		if(a[i]=='M'||a[i]=='K'||a[i]=='G'||a[i]=='B')
		{
			s2=a[i];
			break;
		}
	}
	int shu[4]={0};
	for(int i=0;i<a.size();i++)
	{
		if(a[i]=='M'||a[i]=='K'||a[i]=='G'||a[i]=='B')
		{
			break;
		}
		else
		{
			shu[i]=a[i]-'0';
		}
	}
	int ss=0;
	int wz;
	for(int i=3;i>=0;i--)
	{
		if(shu[i]!=0)
		{	
			wz=i;
			break;
		}
	} 
	for(int i=0;i<=wz;i++)
	{
		ss+=shu[i]*pow(10,wz-i);
	} 
	long double GB,MB,KB,B;
	if(s1=='G')
	{
		GB=ss;
		MB=GB*1.0/1024;
		KB=MB*1.0/1024;
		B=KB*1.0/1024;
	}
	if(s1=='M')
	{
		GB=MB*1.0*1024;
		MB=ss;
		KB=MB*1.0/1024;
		B=KB*1.0/1024;
	}
	if(s1=='K')
	{
		GB=MB*1.0*1024;
		MB=KB*1.0*1024;
		KB=ss;
		B=KB*1.0/1024;
	}
	if(s1=='B')
	{
		GB=MB*1.0*1024;
		MB=KB*1.0*1024;
		KB=B*1.0*1024;
		B=ss;
	}
	if(s2=='G')
	{
		cout<<fixed<<setprecision(6)<<GB<<endl;
	}
	if(s2=='M')
	{
		cout<<fixed<<setprecision(6)<<MB<<endl;
	}
	if(s2=='K')
	{
		cout<<fixed<<setprecision(6)<<KB<<endl;
	}
	if(s2=='B')
	{
		cout<<fixed<<setprecision(6)<<B<<endl;
	}
}
2020/11/22 17:13
加载中...