如何在控制台应用程序中输出正负数的出现次数和零?

时间:2018-04-07 05:08:58

标签: vb.net visual-studio console-application

我怀疑如何做到这一点: 用户必须输入10个数字,并且程序必须在这10个数字中输出有多少个数字为正数,多少个数字为负数,以及有多少个数字为零。我记得一次正确,但忘记了逻辑,所以代码也是如此。我试过这个,但似乎没有用。有人能给我解决方案吗?谢谢!

代码:

Dim counter, pluscount, minuscount, zerocount As Decimal
    For counter = 1 To 10
        Console.WriteLine("Enter 10 numbers")
        counter = Console.ReadLine
        If counter > 0 Then
            pluscount = pluscount + 1
        ElseIf counter < 0 Then
            minuscount = minuscount + 1
        Else
            zerocount = zerocount + 1
        End If
        counter = counter + 1

        Console.WriteLine(pluscount & " number/s is/are positive.")
        Console.WriteLine(minuscount & " number/s is/are negative.")
        Console.WriteLine(zerocount & " number/s is/are zero")
    Next

4 个答案:

答案 0 :(得分:1)

此代码简单地实现了@jmcilhinney提交的解决方案,并添加了ReadLine和CDec。正确的答案是@ jmcilhinney&#39;

Module Module1

    Sub Main()
        'Add a variable to hold user input
        Dim counter, input, pluscount, minuscount, zerocount As Decimal
        For counter = 1 To 10
            Console.WriteLine("Enter a number")
            'do not change the value of counter in the loop
            'use a different variable to hold user input
            'Turn on Option Strict
            input = CDec(Console.ReadLine)
            If input > 0 Then
                pluscount = pluscount + 1
            ElseIf input < 0 Then
                minuscount = minuscount + 1
            Else
                zerocount = zerocount + 1
            End If
            'Do not increment the counter
            'Next increments the counter automaticly
            'counter = counter + 1
        Next
        Console.WriteLine(pluscount & " number/s is/are positive.")
        Console.WriteLine(minuscount & " number/s is/are negative.")
        Console.WriteLine(zerocount & " number/s is/are zero")
        'Stop the program from closing with a .ReadLine so you can see your results
        Console.ReadLine()
    End Sub

End Module

答案 1 :(得分:0)

问题在于您如何使用counter。它是循环计数器,因此应该没有别的。不要在循环中为其分配任何内容,也不要手动增加它。当您致电ReadLine时,您需要一些其他变量来将结果分配给。{/ p>

此外,那里没有阵列。循环计数器应该从0到9,这应该是设置元素时数组的索引。

最后,不要告诉用户在循环内输入10个数字。如果你这样做,那么你就会充满10次输入10个数字。

答案 2 :(得分:0)

你需要找出正确的计数......然后你必须在完成像这样的For循环之后提及那个Console.Writeline ..

onTokenRefresh

答案 3 :(得分:-1)

首先,您需要在数组中获取用户输入。该数组将有10个元素,将由用户输入。 用户完成输入后,循环遍历数组并查找输入的数字是正数,负数还是零。 所以简而言之,你需要一个包含10个元素的数组,1个用于循环的计数器和3个用于保存输入的正数,负数或零数的变量。