为什么第三个点过不了,求大佬指点
#include <bits/stdc++.h>
using namespace std;
string a;
long long flag;
long long shu(string x)
{
long long sum=0;
for(long long i=0;i<x.size();i++)
{
sum=sum*10+(x[i]-'0');
}
long long num=0;
while(sum!=0)
{
num=num*10+sum%10;
sum/=10;
}
return num;
}
int main()
{
cin>>a;
flag=a.find(".");
if(flag!=-1)
{
string b=a.substr(0,flag);
string c=a.substr(flag+1,a.size()-flag-1);
cout<<shu(b)<<"."<<shu(c)<<endl;
return 0;
}
flag=a.find("/");
if(flag!=-1)
{
string b=a.substr(0,flag);
string c=a.substr(flag+1,a.size()-flag-1);
cout<<shu(b)<<"/"<<shu(c)<<endl;
return 0;
}
flag=a.find("%");
if(flag!=-1)
{
string b=a.substr(0,flag);
cout<<shu(b)<<"%"<<endl;
return 0;
}
cout<<shu(a)<<endl;
return 0;
}