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