75分,有解释
查看原帖
75分,有解释
1138325
MC_dream_tsr楼主2024/8/26 17:17

别发AC代码啊,求改,fz就是正常的数字反转,rr就是将string 类型转化为整数类型,思路是将符号前面部分当一个字符串,mc存储符号,若没有就直接s1,否则输出符号,qwq是为了看符号后是否还有数字,如最后一个样例,有就输出b,否则只输出符号

# include<bits/stdc++.h>
using namespace std;
int rr(string s){
	int a = 0;
	for(int i = 0; i < s.length(); i++) 
	    a = a * 10 + (s[i] - '0');
	return a;
}	
int fz(int n){
	int t, s = 0;
	while(n) 
	    t = n % 10, n /= 10, s = s * 10 + t;
	return s;
}    
int main(){
	string s, s1, s2;
	char mc = 'p';
	cin >> s;
	int qwq = 9;
	for(int i = 0; i < s.length(); i++) {
		if(mc != 'p') {
			s2 += s[i];
			continue;
		}
		if(s[i] >= '0' && s[i] <= '9') s1 += s[i];
		else mc = s[i];
		if(mc != 'p' && (i == (s.length() - 1))) qwq = 5;
	}
	int a = rr(s1);
	cout << fz(a);
	if(mc != 'p'){
		int b = rr(s2);
		cout << mc;
		if(qwq != 5) cout << fz(b);
	}
	return 0;
}
2024/8/26 17:17
加载中...