sygzzyr @ 2019-07-03 17:49:08
using namespace std; char c[1000000000]; int main() {
int i,l;
cin>>c;
l=strlen(c)-1;
if(c[0]=='-')
{
cout<<"-";
if(c[l]=='0')
{
for(i=(l-1);i>0;i--)
{
if((c[i]==c[i+1])&&(c[i+1]=='0')) continue;
else cout<<c[i];
}
}
else{
for(i=l;i>0;i--)
cout<<c[i];
}
}
else
{
if(c[l]=='0')
{
for(i=(l-1);i>=0;i--)
{
if((c[i]==c[i+1])&&(c[i+1]=='0')) continue;
else cout<<c[i];
}
}
else{
for(i=l;i>=0;i--)
cout<<c[i];
}
}
return 0;
}
by 赫敏·东方延绪 @ 2019-07-03 18:25:48
https://www.luogu.org/recordnew/show/14501242
by cywd123 @ 2019-07-03 18:30:15
用你的代码试试 1008600 然后你就会发现问题
附我的代码
using namespace std;
int main() {
long long n,t=0;bool f=0;
cin>>n;
if(n<0)f=1;n=abs(n);
while(n>0){
t+=n%10;t*=10;
n/=10;
}
if(f==1)cout<<"-";
cout<<t/10;
return 0;
}
by cywd123 @ 2019-07-03 18:31:04
其实没必要用字符串或字符数组,用简单的数学计算就行
by sygzzyr @ 2019-07-03 18:32:55
@赫敏·东方延绪 大佬,您代码呢?
by sygzzyr @ 2019-07-03 18:33:14
@cywd123 好的我试试
by sygzzyr @ 2019-07-03 18:36:48
@cywd123 那么为什么1008600会出现问题呢?10086是没有问题的,这是为啥?
by cywd123 @ 2019-07-03 19:42:53
by 赫敏·东方延绪 @ 2019-07-03 20:12:52
@sygzzyr 我不太记得我以前的思路了,我再做一遍
by 赫敏·东方延绪 @ 2019-07-03 20:20:43
看看自己以前写的代码,觉得好啰嗦?
by 赫敏·东方延绪 @ 2019-07-03 20:29:07
唉我的AC率,怪我用手机打代码