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

全部评论

相关推荐

11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务