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

全部评论

相关推荐

夏目LTH:这个真的很看运气,多投吧。我从去年十二月底一直投到现在,之前没一个offer,结果两周前投的一家面试官聊的特别好,直接速通offer还给的SP待遇开的比我期望都够。
我的求职进度条
点赞 评论 收藏
分享
bangbangba...:感觉三个项目可以融在一起,比如上层是用手写的epoll,然后到tcp聊天层,然后你写了一个后台监控(不过我也不懂c++,但是感觉写一个大项目比三个小项目要好)
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务