小数运行结果正确,提交上去不对,大佬们指点一下
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
int main()
{
char s[21],s1[21],s2[21];
cin>>s;
if(s[0]=='0'&&s[1]=='\0')
cout << "0";
int f=0;
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]=='.')
{
f=1;break;
}
else if(s[i]=='/')
{
f=2;break;
}
else if(s[i]=='%')
{
f=3;break;
}
}
int k=0;
int vis=0;
if(f==0)
{
for(int j=strlen(s)-1;j>=0;j--)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
cout << s[j];
}
}
else if(f==1)
{
for(int j=i-1;j>=0;j--)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
cout << s[j];
}
if(s[0]=='0'&&s[1]=='.')
cout << 0;
cout << ".";
vis=0;
int k=0;
for(int j=i+1;j<strlen(s);j++)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
{
s1[k]=s[j];
k++;
}
}
for(k=strlen(s1)-1;k>=0;k--)
cout << s1[k];
}
else if(f==2)
{
for(int j=i-1;j>=0;j--)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
cout << s[j];
}
cout << "/";
vis=0;
for(int j=strlen(s)-1;j>i;j--)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
cout << s[j];
}
}
else if(f==3)
{
for(int j=strlen(s)-2;j>=0;j--)
{
if(s[j]!='0'&&!vis)
{
vis=1;
}
if(vis)
cout << s[j];
}
cout << "%";
}
return 0;
}