求助!85分3个WA!
查看原帖
求助!85分3个WA!
761137
Double_Light楼主2022/8/17 19:08

以下是本蒟蒻的代码,请大佬多多指教:

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int f=0,l,m,lb,lc;
string a,b,c;
int main(){
    cin>>a;
	l=a.size();
	for(int i=l-1;i>=0;i--){
		a[i+1]=a[i];
	}
    for(int i=1;i<=l;i++){
    	if(a[i]=='/'){
    		f=1;break;
		}
		if(a[i]=='%'){
    		f=2;break;
		}
		if(a[i]=='.'){
    		f=3;break;
		}
	}
	if(f==0){
		while(a[l]=='0'&&l>1)l--;
		for(int i=l;i>=1;i--){
			cout<<a[i];
		}
	}
	if(f==2){
		while(a[l-1]=='0'&&l>1)l--;
		for(int i=l-1;i>=1;i--){
			cout<<a[i];
		}
		cout<<'%';
	}
	if(f==1){
		while(a[++m]!='/'){
			b[m]=a[m];
			lb++;
		}
		int n=0;
		for(int i=m+1;i<=l;i++){
			c[++n]=a[i];
			lc++;
		}
		while(b[lb]=='0'&&lb>1)
			lb--;
		for(int i=lb;i>=1;i--){
			cout<<b[i];
		}
		cout<<'/';
		n=1;
		while(c[n]=='0'&&lc>1)
			n++;
		for(int i=lc;i>=n;i--){
			cout<<c[i];
		}
	}
	if(f==3){
		while(a[++m]!='.'){
			b[m]=a[m];
			lb++;
		}
		int n=0;
		for(int i=m+1;i<=l;i++){
			c[++n]=a[i];
			lc++;
		}
		while(b[lb]=='0'&&lb>1)
			lb--;
		for(int i=lb;i>=1;i--){
			cout<<b[i];
		}
		cout<<'.';
		n=1;
		while(c[n]=='0'&&lc>1)
			n++;
		for(int i=lc;i>=n;i--){
			cout<<c[i];
		}
	}
    return 0;
}

谢谢大佬~

2022/8/17 19:08
加载中...