杰杰 @ 2018-01-02 20:23:28
#include<bits/stdc++.h>
using namespace std;
int ans[15];
main()
{
int a;
cin>>a;
if(a<0)
{
a=0-a;
cout<<"-";
}
if(a%10==0)
{
a=a/10;
}
int c=a,b=1;
while(c>10)
{
c=c/10;
b++;
}
for(int i=0;i<b;i++)
{
if(b==1)
{
ans[i]=a;
}
else
{
ans[i]=a-a/10*10;
a=a/10;
if(a<10)
{
ans[i+1]=a;
break;
}
}
}
for(int j=0;j<b;j++)
{
cout<<ans[j];
}
return 0;
}
by si_zhong @ 2018-01-02 21:38:06
来了,我来救你了。
by si_zhong @ 2018-01-02 21:40:15
我用的C语言不过也差不多啦!
#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 applese @ 2018-02-09 10:27:56
@杰杰 要考虑-950000的结果
by mengyuan @ 2018-02-19 16:53:57
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; } 其实可以换个思路,这样更简单,而且不容易错!