社区讨论

求大佬解答90

P1553数字反转(升级版)参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi7rli62
此快照首次捕获于
2025/11/21 02:28
4 个月前
此快照最后确认于
2025/11/21 02:28
4 个月前
查看原帖
#include #include #include #include #include #include using namespace std; string st; int a=-1,b=-1,c=-1,d,ans; bool cmpp; int main() { cin >>st; a=st.find("."); b=st.find("/"); c=st.find("%"); if (a==-1 && b==-1 && c==-1) { cmpp=false; ans=0; for (int i=st.size()-1;i>=0;i--) { if (st[i]=='0' && cmpp==true){ cout <<st[i];ans++;} if (st[i]!='0'){cout <<st[i];cmpp=true;ans++;} } if (ans==0) cout <<0<<endl; } if (a!=-1) { cmpp=false; ans=0; for (int i=a-1;i>=0;i--) { if (st[i]=='0' && cmpp==true){ ans++; cout <<st[i]; } if (st[i]!='0'){cout <<st[i];ans++;cmpp=true;} } if (ans==0) cout <<0; cout <<"."; ans=0; for (int i=st.size()-1;i>=a+1;i--) { if (st[i]=='0') { cmpp=true; for (int j=i-1;j>=a+1;j--) { if (st[j]!='0') { cmpp=false; break; } } if (cmpp==true) { d=i; break; } } } for (int i=st.size()-1;i>=d+1;i--) { cout <<st[i]; ans++; } if (ans==0) cout <<ans<<endl; } if (b!=-1) { cmpp=false; ans=0; for (int i=b-1;i>=0;i--) { if (st[i]=='0' && cmpp==true){ cout <<st[i];ans++;} if (st[i]!='0'){cout <<st[i];cmpp=true;ans++;} } if (ans==0) cout <<0; cout <<"/"; for (int i=st.size()-1;i>=b+1;i--) { if (st[i]=='0' && cmpp==true) cout <<st[i]; if (st[i]!='0'){cout <<st[i];cmpp=true;} } } if (c!=-1) { cmpp=false; ans=0; for (int i=c-1;i>=0;i--) { if (st[i]=='0' && cmpp==true){ cout <<st[i];ans++;} if (st[i]!='0'){cout <<st[i];cmpp=true;ans++;} } if (ans==0) cout <<0; cout <<"%"<<endl; } return 0; }

回复

3 条回复,欢迎继续交流。

正在加载回复...