递归解决整数逆置

int reverse(int value) {
	//将value值逆置
	int n = 1;				//存放当前value位数
							//计算value几位数
	int a = value;
	while (a>10) {
		n *= 10;
		a /= 10;
	}
	if (value / 10 != 0) { //reverse(value / 10)获得value/10的个位
						   //(value%10)*n当前各位放在对称位上
		return reverse(value / 10) + (value % 10);
	}
	else
	{
		return value;
	}

}
int Reverse()
{
	int n;
	scanf("%d", &n);
	printf("%d\n", reverse(n));
	return 0;
}
输入123456
返回654321

猜你喜欢

转载自blog.csdn.net/qq_16761599/article/details/63297874