像这样 输入:600.084 输出:6.480. 参照题解的第一篇写的,对照着检查了好几遍完全看不出来错误TvT 真的不知道还有哪里错了,请大佬们指出,非常感谢!
#include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
cin >> s;
int cnt = -1;//因为从第0位开始
char p = 0;//存储符号
int l = s.size();
for(int i = 0; i < l; i++)
{
if(s[i] >= '0' && s[i] <= '9')
cnt++;
else
{
p = s[i];
break;
}
}
int x = cnt;
while(s[cnt] == '0' && cnt > 0)
cnt--;
for(int i = cnt; i >= 0; i--)
cout << s[i];
if(p == 0)
return 0;
cout << p;
if(p == '%')
return 0;
l--;
while(s[x+1] == '0' && x+1 < l)
x++;
while(s[l] == '0' && l > x+1)
l--;
for(int i = l; i > x; i--)
cout << s[i];
cout << endl;
return 0;
}