VB.net控制台应用程序打印数字的反向

时间:2015-08-22 16:52:19

标签: vb.net

我正在尝试使用VB.NET控制台应用程序打印数字反向,并且我有Integer类型的变量。当我输入数字651作为输入时,它打印1561.我写代码为

Sub Main()
    Dim no, rev, temp As Integer
    Console.WriteLine("enter the no")
    no = CInt(Console.ReadLine())
    rev = 0
    temp = no
    While temp > 0
        Dim t As Integer
        t = temp Mod 10
        rev = rev * 10 + t
        temp = temp / 10
    End While
    Console.WriteLine("Reverse number=>"+rev.ToString())
    Console.ReadKey()
End Sub

当我输入数字123然后它给出正确的输出为321,但是当我给出678时,它给出输出8761或其他垃圾值,请建议我建议

2 个答案:

答案 0 :(得分:1)

你得到这样的结果,因为,

  

当您将除法结果分配给整数值时,它将会   自动舍入到下一个更高的整数。

例如,Dim no As Integer = 68 / 10会将结果显示为7, 如果您使用Option Strict On进行编码,则不允许进行此投射。 最好的方法是Bjørn-RogerKringsjå建议你可以简单地翻转一个数字并打印出来。

Console.Write("Reverse of {0} is : ", no.ToString().Reverse())

或者您可以按照以下步骤操作:

    Console.WriteLine("enter the no")
    Dim no As Integer = CInt(Console.ReadLine())
    Console.Write("Reverse of {0} is : ", no)
    While no > 0
        Console.Write(no Mod 10)
        no = Math.Floor(no / 10)
    End While
    Console.ReadKey()

答案 1 :(得分:0)

只需使用\代替/,您的工作就完成了。