如何交换一个 2 位数字并找到较大的结果?

How to swap a 2 digit number and find the larger of the result?

我想使用数字 25,然后交换两个数字(2 和 5),然后将交换后的数字 (52) 与第一个数字 (25) 进行比较。如果交换后的数字更大,我得到一个 true,如果交换后的数字小于第一个数字,我得到一个 false。

我想要的示例:

输入:

25

输出:

True //Because 25 reversed is 52, so it´s bigger 

这是我试过的:

        int firstdigit = num / 10;
        int secondigit = num % 10;
        string res = secondigit + firstdigit.ToString();
        
        if(res > num)
        {
            return true;
        }
        return false;

现在的问题是“if”不再起作用,因为 res 是一个字符串而 num 是一个 int,但是当我将 res 设为 int 时,我无法添加第一个数字和第二个数字,因为它明显不同如果我用整数 (7) 做 5 + 2 或用字符串 (52) 做 5 + 2。

您需要构建反转的 int 值并与之比较:

int firstdigit = num / 10;
int secondigit = num % 10;
int reversed   = firstdigit + seconddigit * 10;

if (reversed > num)
    ...

如果您查看上面的代码,您应该会发现它只是颠倒了用于提取第一位和第二位数字的逻辑。

不错的解决方案。 也许这对你来说就足够了

int firstdigit = num / 10;
int secondigit = num % 10;

        
        if(secondigit > firstdigit)
        {
            return true;
        }
        return false;