数字反转-做题报告

1|0

2|0

3|0

4|0第二次写做题报告就还写橙题吧!

5|0 数字反转(升级版)

5|1话不多说先给出第一次四十分的代码

#include<bits/stdc++.h> using namespace std; int main() { string a; cin>>a; if(a.find('.')!=a.npos) { double sd; stringstream ss; ss<<a; ss>>sd; if(sd==0) { cout<<"0.0"; return 0; } int s=a.find('.'); string kkk; kkk=a[0]; for(int i=1;i<s;i++) { kkk+=a[i]; } string sc03; sc03=kkk[kkk.length()-1]; for(int i=kkk.length()-2;i>=0;i--) { sc03+=kkk[i]; } int len=sc03.length(); while(len>1&&sc03[len]==0)len--; sc03+='.'; for(int i=0;i<=len+1;i++) { cout<<sc03[i]; } string tp; tp=a[s+1]; for(int i=s+2;i<a.length();i++) { tp+=a[i]; } string tep; tep=tp[tp.length()-1]; for(int i=tp.length()-2;i>=0;i--) { tep+=tp[i]; } int le=tep.length(); while(le>1&&tep[le]==0)le--; for(int i=0;i<=le;i++) { if(tep[i]!=' ') cout<<tep[i]; } return 0; } if(a.find('/')!=a.npos) { int s=a.find('/'); string kkk; kkk=a[0]; for(int i=1;i<s;i++) { kkk+=a[i]; } string sc03; sc03=kkk[kkk.length()-1]; for(int i=kkk.length()-2;i>=0;i--) { sc03+=kkk[i]; } int len=sc03.length(); while(len>1&&sc03[len]==0)len--; stringstream ss; ss<<sc03; int p; ss>>p; if(p==0) { cout<<0; } else for(int i=0;i<=len;i++) { cout<<sc03[i]; } cout<<'/'; string tp; tp=a[s+1]; for(int i=s+2;i<a.length();i++) { tp+=a[i]; } string tep; tep=tp[tp.length()-1]; for(int i=tp.length()-2;i>=0;i--) { tep+=tp[i]; } int le=tep.length(); while(le>1&&tep[le]==0)le--; for(int i=0;i<=le;i++) { cout<<tep[i]; } return 0; } if(a.find('%')!=a.npos) { string kkk; kkk=a[0]; for(int i=1;i<a.length()-1;i++) { kkk+=a[i]; } string sc03; sc03=kkk[kkk.length()-1]; for(int i=kkk.length()-2;i>=0;i--) { sc03+=kkk[i]; } int len=sc03.length(); while(len>1&&sc03[len]==0)len--; cout<<sc03; cout<<'%'; return 0; } string kkk; kkk=a[0]; for(int i=1;i<a.length();i++) { kkk+=a[i]; } string sc03; sc03=kkk[kkk.length()-1]; for(int i=kkk.length()-2;i>=0;i--) { sc03+=kkk[i]; } int len=sc03.length(); while(len>1&&sc03[len]==0)len--; cout<<sc03; }

1|0又臭又长,很多有关零的处理都不到位

5|2经过一番沉♂思我突♂FA♂奇♂想:如果用stringstream把字符串转成数字再进行处理的话就不用考虑零的问题了

1|0于是乎

#include<bits/stdc++.h> using namespace std; #define ll unsigned long long int main() { string a; cin>>a; if(a.find('%')!=a.npos) { string kkk1=""; for(int i=0;i<a.length()-1;i++) { kkk1+=a[i]; } stringstream p; p<<kkk1; ll po; p>>po; ll po1=0; while(po) { po1=po1*10+po%10; po/=10; } cout<<po1<<"%"; return 0; } if(a.find('.')!=a.npos) { int s=a.find('.'); string kkk1="",kkk2=""; for(int i=0;i<s;i++) { kkk1+=a[i]; } for(int i=s+1;i<a.length();i++) { kkk2+=a[i]; } stringstream sc1,sc2; sc1<<kkk1;sc2<<kkk2; ll sc3,sc4; sc1>>sc3;sc2>>sc4; if(sc3==0) { cout<<"0."; }else { ll sc03=0; while(sc3) { sc03=sc03*10+sc3%10; sc3/=10; } cout<<sc03<<"."; } if(sc4==0) { cout<<"0"; }else { ll sc04=0; while(sc4) { sc04=sc04*10+sc4%10; sc4/=10; } cout<<sc04; } return 0; } if(a.find('/')!=a.npos) { int s=a.find('/'); string kkk1="",kkk2=""; for(int i=0;i<s;i++) { kkk1+=a[i]; } for(int i=s+1;i<a.length();i++) { kkk2+=a[i]; } stringstream sc1,sc2; sc1<<kkk1;sc2<<kkk2; ll sc3,sc4; sc1>>sc3;sc2>>sc4; if(sc3==0) { cout<<"0/"; }else { ll sc03=0; while(sc3) { sc03=sc03*10+sc3%10; sc3/=10; } cout<<sc03<<"/"; } if(sc4==0) { cout<<"0"; }else { ll sc04=0; while(sc4) { sc04=sc04*10+sc4%10; sc4/=10; } cout<<sc04; } return 0; } string kkk; kkk=""; for(int i=0;i<a.length();i++) { kkk+=a[i]; } stringstream ss; ss<<kkk; ll sc; ss>>sc; ll sc03=0; while(sc) { sc03=sc03*10+sc%10; sc/=10; } cout<<sc03; }

1|0这个想了将近两天的题就这样

5|3AC了。。。


__EOF__

本文作者Kdlyh
本文链接https://www.cnblogs.com/kdlyh/p/17777020.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   加固文明幻景  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示