c# - 如何交换两个数字并找到结果中较大的一个?

标签 c# swap

我想使用数字 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)
    ...

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

关于c# - 如何交换两个数字并找到结果中较大的一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69628141/

相关文章:

C# 编译器错误 : "cannot have instance field initializers in structs"

c# - 具有独立写入和读取位置的流

c++ - 使用交换与更改指向 vector 的指针

javascript - 交换对象数组中的元素

performance - 在不使用第三个变量的情况下交换两个变量是否有意义?

c# - 将 Kinect v1 代码与 Kinect v2 重用

C# ArrayList - 对象

c# - 混淆旨在返回图像的 HTTP 处理程序

java - 如何根据用户输入将数组中最大的元素放在末尾,最小的元素放在开头?

python - 如何交换从列表 .txt 文件中读取的数字?错误 "list index out of range"