95pts,#19 RE,请问哪里错了
查看原帖
95pts,#19 RE,请问哪里错了
1031647
IeoA楼主2023/7/18 17:53
//Code written by Li Zexuan (Looks handsome)
#include<bits/stdc++.h>
using namespace std;

int revs (int x) {
	int k = 0;
	while (x > 0) {
		k = x % 10 + k * 10;
		x /= 10;
	}
	return k;
}

void spfind (string s, string opt) {
	string k = s.substr(0, s.find(opt));
	string l = s.substr(s.find(opt) + 1, s.size() - s.find(opt));
	int n = revs(stoi(k)), m = revs(stoi(l));
	cout << n << opt << m << endl;
}

string Rlz(string s) { // Remove leading zeros
	long long n;
	if (s.size() >= 2 && s[0] == '0') {
		n = s.size();
		for (int i = 0; i < n; i++) {
			if (s[i] != '0') {
				break;
			} else {
				s.erase(s.begin());
				i--;
			}
		}
	}
	return s;
}

int main() {
	string s;
	cin >> s;
	if (s.at(s.size() - 1) == '%') {
		string k = s.substr(0, s.size() - 1);
		int n = revs(stoi(k));
		cout << n << "%" << endl;
	} else if (s.find(".") != s.npos) {
		spfind(s, ".");
	} else if (s.find("/") != s.npos) {
		spfind(s, "/");
	} else {
		reverse(s.begin(), s.end());
		cout << Rlz(s) << endl;
	}
	return 0;
}
2023/7/18 17:53
加载中...