#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 2019-11-24 15:14  ComMario  阅读(135)  评论(0编辑  收藏  举报