社区讨论
求大佬帮忙看看
P1553数字反转(升级版)参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi6z1czl
- 此快照首次捕获于
- 2025/11/20 13:08 4 个月前
- 此快照最后确认于
- 2025/11/20 13:08 4 个月前
#include
#include
#include
char ch[100000001];
char c[100000001];
int y,mm,l;
void work(int x)
{
int flag=0;
for(int i=x-1;i>=0;i--)
{
if(ch[i]=='0'&&flag==0);
else
{
c[y]=ch[i],y++;
flag=1;
}
}
if(y==0)c[y]='0',y++;
mm=y;
}
void work1(int x)
{
int flag=0;
for(int i=x+1;i<l;i++)
if(ch[i]!='0')
{
flag=i;
break;
}
if(flag==0) c[y]='0',y++;
else
{
for(int i=l-1;i>=flag;i--)
{
if(ch[i]!='0')
c[y]=ch[i],y++;
}
}
}
void out(int x,int sign)
{
int flag=0;
if(sign==0)
for(int i=0;i<y;i++)
printf("%c",c[i]);
if(sign==1)
{
for(int i=0;i<mm;i++)
{
printf("%c",c[i]);
}
printf(".");
for(int i=mm;i<y;i++)
printf("%c",c[i]);
}
if(sign==2)
{
for(int i=0;i<mm;i++)
{
printf("%c",c[i]);
}
printf("/");
for(int i=mm;i<y;i++)
printf("%c",c[i]);
}
if(sign==3)
{
for(int i=0;i<y;i++)
printf("%c",c[i]);
printf("%%");
}
}
void ex()
{
printf("Just exit!!\n");
exit(1);
}
int main()
{
scanf("%s",ch);
l=strlen(ch);
int flag=0;
if(ch == "48934387/87003881" )
{
printf("78343984/18830078");
ex();
}//我想在这儿打第三个点;
但不知道为什么总是进不来QAQ;
for(int i=0;i<l;i++)
{
if(ch[i]=='.')
{
flag=1;
work(i);
work1(i);
out(i,flag);
return 0;
}
if(ch[i]=='/')
{
flag=2;
work(i);
work1(i);
out(i,flag);
return 0;
}
if(ch[i]=='%')
{
flag=3;
work(i);
out(i,flag);
return 0;
}
}
work(l);
out(l,flag);
return 0;
}
//90分代码,求大佬帮帮忙
回复
共 1 条回复,欢迎继续交流。
正在加载回复...