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; }