1553数字反转(升级版)
小数 10.01 ——01.10
分数 30/30 ——03/03
百分数 110% —— 011%
整数 100 —— 001
注意00 、0.00、00/1 、00%
#include <iostream>
using namespace std;
string s,op;
long long dig,no,a[3];
int main(int argc, char** argv) {
cin>>s;
dig=1;
int i;
for(i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9') a[0]+=(s[i]-'0')*dig, dig*=10;
else {
op+=s[i]; break;
}
}
cout<<a[0]<<op;
dig=1;
if(op[0]=='.'||op[0]=='/') {
for(int j=i+1;j<s.size();j++){
a[1]+=(s[j]-'0')*dig, dig*=10;
}
if(op[0]=='.'){
while(a[1]%10==0&&a[1]) a[1]/=10;
}
cout<<a[1]<<endl;
}
return 0;
} 

查看17道真题和解析