追逐者 @ 2019-05-28 17:38:02
#include <iostream>
using namespace std;
int cf(int n){
int sum=1;
for(int i=1;i<=n;i++)
sum*=10;
return sum;
}
int main(){
long long n;
cin>>n;
if(n<0)
{
n*=-1;
cout<<'-';
}
while(n%10==0)
n/=10;
int l,t=n;
while(t!=0)
t/=10,l++;
for(int i=0;i<l;i++){
int w=n/cf(i)%10;
cout<<w;
}
cout<<endl;
return 0;
}
本地没问题
by WYXkk @ 2019-05-28 18:21:00
@追逐者 发现两个问题:1.l没有初始化;2.n=0会在第一个while死循环
by WYXkk @ 2019-05-28 18:23:33
@追逐者 改过来之后就A了,可能是l的初始化的问题,导致l越界或者变成奇怪的数。
by wjy2006 @ 2019-05-28 18:25:25
@追逐者
开O2后A了
by 追逐者 @ 2019-05-29 16:43:20
好的谢谢