80分求大佬们改进

P1307 [NOIP2011 普及组] 数字反转

来了,我来救你了。
by si_zhong @ 2018-01-02 21:38:06


我用的C语言不过也差不多啦! ```cpp #include <stdio.h> #include <string.h> int n[99999]= {0},c=0,f=0; char nn[99999]; int main () { gets(nn); c=strlen(nn); for(int i=0; i<=c-1; i++) { n[i]=nn[i]-48; } if(n[0]+48=='-') { printf("-"); for(int i=c-1; i>=1; i--) { if(n[i]==0) { for(int j=i; j<=c-1; j++) { if(n[j]!=0) { f++; } } if(f==0) { f=0; continue; } else { f=0; } } printf("%d",n[i]); } } else { for(int i=c-1; i>=0; i--) { if(n[i]==0) { for(int j=i; j<=c-1; j++) { if(n[j]!=0) { f++; } } if(f==0) { f=0; continue; } else { f=0; } } printf("%d",n[i]); } } return 0; } ``` 以上为AC代码。 很简单啊!分情况做就好了,用数组的思想就好。
by si_zhong @ 2018-01-02 21:40:15


@[杰杰](/space/show?uid=58749) 要考虑-950000的结果
by applese @ 2018-02-09 10:27:56


#include<iostream> using namespace std; int main() { int n,s=0; cin>>n; while(n!=0) { s=s*10+n%10; n/=10; } cout<<s<<endl; return 0; } 其实可以换个思路,这样更简单,而且不容易错!
by mengyuan @ 2018-02-19 16:53:57


|