如何理解这个函数接受数字作为输入并反转它们?

用户9853180

我怎样才能更好地理解这段代码?这个函数的重点是让用户输入数字,程序返回反向数字。

我只是想知道它是如何工作的,在反向函数中到底是什么在做反向?我试着做数学,但我一直遇到障碍。

class Program
{
    static void Main(string[] args)
    {
        int n = 0, result = 0;

        Console.WriteLine("Please Enter a Number: ");
        n = Convert.ToInt32(Console.ReadLine());

        result = reverse(n);
        Console.WriteLine("The Reverse Number Is : " + result);
        Console.ReadKey();        
    }

    public static int reverse(int n)
    {
        int temp = 0, rev = 0;

        while( n != 0)
        {
            temp = n % 10;
            rev = (rev * 10) + temp;
            n = n / 10;
        }

        return rev;
    }
}
罗斯科·卡利斯

所以在 reverse 函数中发生的事情如下:

该行除以n10 并取余数,有效地取数字的最后一位。

temp = n % 10;


此行将反转数字中的所有数字向左移动一位,并将temp数字添加到其右侧。

rev = (rev * 10) + temp;


此行从原始数字中删除最后一位数字。结合 while 循环,这意味着循环将一直持续到从 中删除每个数字n

n = n / 10;


也许通过一个例子更清楚:

让我们从n = 12345. 我们取最后一位数字temp = n % 10;,即 5。接下来我们通过rev = (rev * 10) + temp;rev从 0 开始。0 * 10 = 0, + 5 = 5。所以现在rev = 5我们从nwith 中删除最后一位数字n = n / 10;所以现在n = 1234rev = 5

在下一迭代中,我们采取的最后一位n,4.rev目前是5.5 * 10 = 50,+ 4 = 54除去最后一位后,n = 123rev = 54

在下一迭代中,我们采取的最后一位n,3.rev目前是54 54 * 10 = 540,+ 3 = 543除去最后一位后,n = 12rev = 543

在下一迭代中,我们采取的最后一位n,2.rev目前是543 543 * 10 = 5430,+ 2 = 5432。在去掉最终的数字后,n = 1rev = 5432

在下一次迭代中,我们取 1 的最后一个(也是唯一的)数字nrev当前是 5432。5432 * 10 = 54320,+ 1 = 54321。在删除最后一个数字后,n = 0rev = 54321

while( n != 0)现在是假的,所以没有下一次迭代。函数以n = 0and结尾,rev = 54321它返回 的值rev,即 54321,与 12345 相反。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

接受并使用输入作为数字

来自分类Dev

如何cCythonize接受容器作为返回结果的输入的C ++函数

来自分类Dev

我将如何让这个程序接受扫描仪输入,直到我命令它停止接受它们

来自分类Dev

如何使此数字输入接受逗号?

来自分类Dev

如何理解这个Scala函数调用

来自分类Dev

使用dict作为函数的输入,但仅接受函数需要的参数

来自分类Dev

如何反转这个命令?

来自分类Dev

如何检测输入数字警告并忽略它们?

来自分类Dev

如何接受异步函数作为参数?

来自分类Dev

如何使接受元组输入的Python函数?

来自分类Dev

在接受数字或数组作为args的函数内部,无论类型如何,如何有效地对这些args进行操作?

来自分类Dev

使 JavaFX TextField 仅接受数字输入的常用函数

来自分类Dev

仅接受数字输入

来自分类Dev

如何在C ++中创建一个函数原型,该函数原型接受两个整数作为参数并返回它们的差值?

来自分类Dev

如何只允许数字作为输入?- Python

来自分类Dev

如何反转这个过程的结果?

来自分类Dev

创建一个函数,它接受一个浮点数作为输入并返回一个包含数字的字符串

来自分类Dev

如何使EditText仅接受IP地址作为输入?

来自分类Dev

使用cin,我如何接受字符或整数作为输入?

来自分类Dev

([数字],数字)作为函数参数,如何从[]外部获取数字?

来自分类Dev

如何创建带有仅接受数字的输入范围的PasswordBox?

来自分类Dev

如何使数字输入仅接受一定数量的字符?

来自分类Dev

如何在T-SQL中编写一个函数,该函数接受表作为输入并将结果返回为表?

来自分类Dev

如何使Rust函数接受任何浮动类型作为参数

来自分类Dev

如何接受 CGFloat 或 CGFloats 数组作为函数参数?

来自分类Dev

Haskell,将列表作为函数的输入,如何?

来自分类Dev

如何使用张量作为函数的输入?(tensorflow)

来自分类Dev

测试输入是否接受数字

来自分类Dev

测试输入是否接受数字

Related 相关文章

  1. 1

    接受并使用输入作为数字

  2. 2

    如何cCythonize接受容器作为返回结果的输入的C ++函数

  3. 3

    我将如何让这个程序接受扫描仪输入,直到我命令它停止接受它们

  4. 4

    如何使此数字输入接受逗号?

  5. 5

    如何理解这个Scala函数调用

  6. 6

    使用dict作为函数的输入,但仅接受函数需要的参数

  7. 7

    如何反转这个命令?

  8. 8

    如何检测输入数字警告并忽略它们?

  9. 9

    如何接受异步函数作为参数?

  10. 10

    如何使接受元组输入的Python函数?

  11. 11

    在接受数字或数组作为args的函数内部,无论类型如何,如何有效地对这些args进行操作?

  12. 12

    使 JavaFX TextField 仅接受数字输入的常用函数

  13. 13

    仅接受数字输入

  14. 14

    如何在C ++中创建一个函数原型,该函数原型接受两个整数作为参数并返回它们的差值?

  15. 15

    如何只允许数字作为输入?- Python

  16. 16

    如何反转这个过程的结果?

  17. 17

    创建一个函数,它接受一个浮点数作为输入并返回一个包含数字的字符串

  18. 18

    如何使EditText仅接受IP地址作为输入?

  19. 19

    使用cin,我如何接受字符或整数作为输入?

  20. 20

    ([数字],数字)作为函数参数,如何从[]外部获取数字?

  21. 21

    如何创建带有仅接受数字的输入范围的PasswordBox?

  22. 22

    如何使数字输入仅接受一定数量的字符?

  23. 23

    如何在T-SQL中编写一个函数,该函数接受表作为输入并将结果返回为表?

  24. 24

    如何使Rust函数接受任何浮动类型作为参数

  25. 25

    如何接受 CGFloat 或 CGFloats 数组作为函数参数?

  26. 26

    Haskell,将列表作为函数的输入,如何?

  27. 27

    如何使用张量作为函数的输入?(tensorflow)

  28. 28

    测试输入是否接受数字

  29. 29

    测试输入是否接受数字

热门标签

归档