输入0应该输出什么? 附代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
if(s.find('.')!=string::npos)//小数
{
bool flag=1;
int pos=s.find('.');
int i=pos-1;
while(s[i]=='0')i--;
for(;i>=0;i--)
{
flag=0;
printf("%c",s[i]);
}
if(flag)printf("0");
printf(".");
i=pos+1,flag=1;
while(s[i]=='0')i++;
for(int j=s.size()-1;j>=i;j--)
{
flag=0;
printf("%c",s[j]);
}
if(flag)printf("0");
}
else if(s.find('/')!=string::npos)//分数
{
bool flag=1;
int pos=s.find('/');
int i=pos-1;
while(s[i]==0)i--;
for(;i>=0;i--)
{
flag=0;
printf("%c",s[i]);
}
if(flag)printf("0");
printf("/");
i=s.size()-1;
while(s[i]=='0')i--;
for(;i>pos;i--)
{
printf("%c",s[i]);
}
}
else if(s[s.size()-1]=='%')//百分数
{
int i=s.size()-2;
while(s[i]=='0'&&i!=0)i--;
for(;i>=0;i--)
{
printf("%c",s[i]);
}
printf("%%");
}
else{//整数
int i=s.size()-1;
while(s[i]=='0')i--;
for(;i>=0;i--)
{
printf("%c",s[i]);
}
}
return 0;
}