求助!!!!!!!!!!!!!!!!!!!!!!!!!
查看原帖
求助!!!!!!!!!!!!!!!!!!!!!!!!!
776886
_A__楼主2024/3/21 17:39
#include<bits/stdc++.h>
using namespace std;
int a;//字符位置 
//小数 
string  xs3,xs4;
//百分数
//int 
//分数 
string fs3,fs4;
//整数 
//int 
// substr函数也是学会了好吧 
int qk(string n){//分情况喵~  0是整数,1=小数,2是分数,3是百分数 ok吧 
	for(int i=0;i<n.size();i++){
		if(n[i]=='.'){
			a=i;
			return 1;
		}
		 if(n[i]=='/'){
		 	a=i;
		 	return 2;
		}
		if(n[i]=='%'){
			a=i;
			return 3;
		}
	}
	return 0;
}
//整数
void zs(string zs2){
	for(int i=zs2.size();i>1;i--){//过滤0
		if(zs2[i]=='0'){ 
			zs2=zs2.erase(i,1);//找到就删掉
		}
	}
	for(int i=zs2.size();i>1;i--){· 
		cout<<zs2[i];//输出~~ 
	} 
} 
//小数~
void xs(string xs2){
	xs3=xs2.substr(0,a);//小数点前的整数部分ok~ 
	xs4=xs2.substr(a+1,xs2.size()-(a+1));//小数点后的ok~ 
	zs(xs3);//用整数函数反转小数点前的整数部分喵~ 
	cout<<".";//输出灵魂
	for(int i=0;i<xs4.size();i++){//搜嘎 过滤 
		if(xs4[i]=='0'){//找到 
			xs4=xs4.erase(0,1);//删掉 
		}
	}
	for(int i=xs4.size();i>0;i--){
		cout<<xs4[i];//输出喵
	}
}
//分数 
void fs(string fs2){
	fs3=fs2.substr(0,a);//分号前的ok~ 
	fs4=fs2.substr(a+1,fs2.size()-(a+1));//分号后的ok~ 
	zs(fs3);//用整数函数来反转分号前的ok~ 
	cout<<"/";//输出灵魂~ 
	zs(fs4);
}
//百分数
void bfs(string bfs2){
	bfs2=bfs2.erase(bfs2.size()-1,1);//先删百分号!! 
	zs(bfs2);//反转删掉百分号的数 
	cout<<"%";//别忘带上灵魂 
}
//喵 
int b;//情况 嗯对·· 
string c;


int main(){
	cin>>c;//输入 
	b=qk(c);//判断情况 
	if(b==0){//分情况 
		zs(c);
	}
	else if(b==1){
		xs(c);
	}
	else if(b==2){
		fs(c);
	}
	else if(b==3){
		bfs(c);
	}
	return 0;
}  

2024/3/21 17:39
加载中...