输出不出来,求助,不知道什么原因
查看原帖
输出不出来,求助,不知道什么原因
153533
one_leukocyte楼主2022/2/26 19:28
#include<bits/stdc++.h>
using namespace std;
string s;//输入的数字 
string integer;//整数部分 
string fractional;//小数或什么部分 
string turn(string t,int l)
{
	bool flag=true;
    //flag为真时,代表最后面有0 
	string temp;
	int m=0;
	for(int i=l-1;i>=0;i--)
	{
		if(t[i]==0&&flag==true)
			continue;
		else
			flag=false;
		temp[m++]=t[i];
	}
	return temp;
}
int main()
{
int l;
getline(cin,s);
size_t n1=s.find('/');
size_t n2=s.find('.');
if(n1!=string::npos)//数字/数字 类型
{
	integer=s.substr(0,n1);
	fractional=s.substr(n1+1,s.size()-n1-1);
	l=integer.length();
	integer=turn(integer,l);
	l=fractional.length();
	fractional=turn(fractional,l);
	cout<<integer<<"/"<<fractional<<endl;
	return 0;
}
if(n2!=string::npos)//数字.数字 类型
{
	integer=s.substr(0,n2);
	fractional=s.substr(n2+1,s.size()-n2-1);
	l=integer.length();
	integer=turn(integer,l);
	l=fractional.length();
	fractional=turn(fractional,l);
	cout<<integer<<"."<<fractional<<endl;
	return 0;
}
size_t n3=s.find('%');
if(n3!=string::npos)//数字% 类型 
{
	integer=s.substr(0,n3);
	l=integer.length();
	integer=turn(integer,l);
	cout<<integer<<"%"<<endl;
	return 0; 
}
l=s.length();
s=turn(s,l);//只有整数 
cout<<s<<endl;
return 0;
}
2022/2/26 19:28
加载中...