卡90分了,求大佬改一下
查看原帖
卡90分了,求大佬改一下
1554031
lzhhhh2楼主2025/1/8 23:17
#include <iostream>
using namespace std;
string a;
int b,c;
int v = 0;
int main(){
	getline (cin,a);
    for (long i =0;i<a.length();i++) {
        if (a[i] == '0') v++;
    }
	for (long i =0;i<a.length();i++) {
        
		if (a[i] == '/' || a[i] =='%' || a[i] == '.')
			break;
            
		b++;
       // cout << v << "\n";
	}
    if (v == a.length()){
        for(long i = 0 ;i<a.length();i++){
            cout << '0';
        }
    }else if (a[0] == '0' && (a[b] == '/' || a[b] =='%' || a[b] == '.')) {
        cout << '0';
    }
	c=b;
	while(1){
        if(a[c-1] == '0'){
            c--;
        }else break;
        //cout << c << " ";
	}
    while (c){
        cout << a[--c];
    }
    if(a[b] == '/' || a[b] =='%' || a[b] == '.'){
        cout << a[b];
    }
    c=b;
    
    long l = a.length() -1;
    //cout << l <<"\n";
    while(1){
        if(a[l] == '0'){
            l--;
        }else break;
        //cout << l <<"\n";
	}
    
    while(1){
        if (c+1 == l) break;
        if(a[c+1] == '0'){
            c++;
        }else break;
	}
    
    b = l;
    while (b > c){
        cout << a[b--];
    }
	return 0;
}

90分,找不出原因了

2025/1/8 23:17
加载中...