根据无符号和其他三种符号来写的代码 60分 求调 悬赏一关注!!!
查看原帖
根据无符号和其他三种符号来写的代码 60分 求调 悬赏一关注!!!
926389
xydengke楼主2023/7/20 14:30
#include <bits/stdc++.h>
using namespace std;
int main(){
	string ssh;
	getline(cin,ssh);
	int d=0,m,f=0,c=0,g=0;
	for(int i=0;i<=ssh.length()-1;i++){
		if(ssh[i]=='.'){d=1;m=i;}
		if(ssh[i]=='/'){d=2;m=i;}
		if(ssh[i]=='%'){d=3;m=i;}	  
	}
		if(ssh.length()==1&&ssh[0]=='0'){
				cout<<0;
			} 
	else if(d==0){
		for(int i=ssh.length()-1;i>=0;i--){
		
			 if(f==0&&ssh[i]=='0'){
			} 
			else{
				f++;cout<<ssh[i];
			}
				}}
	if(d==1){
		for(int i=m+1;i<=ssh.length();i++){
			if(g==0&&ssh[i]==0)
			g++;
		}
		for(int i=m-1;i>=0;i--){
				if(f==0&&ssh[i]=='0'){
			} 
			else{
				f++;cout<<ssh[i];
			}
		}
		
		cout<<".";
		for(int i=ssh.length()-1;i>=m+1+g;i--){
			cout<<ssh[i];
		}
		}
	if(d==2){
		for(int i=m-1;i>=0;i--){
				if(f==0&&ssh[i]=='0'){
			} 
			else{
				f++;cout<<ssh[i];
			}
		}
		cout<<"/";
		for(int i=ssh.length()-1;i>=m+1;i--){
			if(c==0&&ssh[i]=='0'){
			}
			else 
			cout<<ssh[i];
		}
	}
	if(ssh[0]=='0'){
		cout<<"0%";	}
	else if(d==3){
	for(int i=ssh.length()-2;i>=0;i--){
			if(f==0&&ssh[i]=='0'){
			} 
			else{
				f++;cout<<ssh[i];
			}
				}
		cout<<"%";}
	return 0;
}
2023/7/20 14:30
加载中...