#include <stdio.h>
int main()
{
long long n;
int a, b;
scanf("%lld", &n);
if(n>0)
;
else
{
if((n>=(-10))&&(n<0))
n=0;
else
{
a=(n%10)*(-1);
b=((n/10)%10)*(-1);
a>b?(n/=10):(n=((n/10)+b)-a);
}
}
printf("%lld\n", n);
return 0;
}
@如果输入的是正数,则不做任何改变。如果是负数则先要看该负数是否在闭区间[-10, 0]内,在的话将n的值赋值为0。当此负数不在上述区间内时,要比较个位和十位的数字哪个大,如果个位的数大则把这个负数除以10来将各位抹掉,否则先将这个负数除以10,即先将各位抹掉,然后再将抹掉个位后的负数个位清零,最后加上之前被抹掉的个位上的数值。本段代码执行到最后变量n内的值即为Answer。
posted on
浙公网安备 33010602011771号