社区讨论

求大佬帮忙看看

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 条回复,欢迎继续交流。

正在加载回复...