如何使用两个do-while循环从用户获取值来打印乘法表

时间:2014-03-04 20:22:55

标签: c# loops

我在这段代码中需要帮助它会出错。请对这个问题给出适当的答案..我只是卡在哪里以及代码的哪一部分?

使用Do-while Loop

Console.writeLine("Multiplication table");

int a;
Console.writeLine("Enter the Multiplication table no");
a = Convert.ToInt32("Console.ReadLine());

int b;
Console.writeLine("Enter the Limit");
b = Convert.ToInt32("Console.ReadLine());

int c;
do
{
     a++;
     int d = 1;
do
{
    Console.writeline(c+"*"+d+"="+(c*d));
    b++;
  }

while(c<=3)

3 个答案:

答案 0 :(得分:3)

正如人们之前所说,这个问题有一些问题让我们能够提供一个可靠的答案;不完整的代码,并且不确切知道您在开始时收到的错误。

然而,从我可以拼凑的东西(当然做出一些假设)

  1. 最重要的是int c;的非初始化。在调用它之前,c必须等于某些。例如。 int c = 0将删除该问题。

  2. 我假设你的do {} while ()循环是完全封闭的?即。

    do 
    {
        do { something }
        while(something is true)
    }
    while (something else is true)
    
  3. 然而,这似乎有点过时了。

    1. 功能

      Console.WriteLine(c+"*"+d+"="+(c*d));
      b++;
      
    2. 对我来说没有意义。您是否应该使用b代替c?如果没有,那么c = b

答案 1 :(得分:0)

我看不到第二个while语句,所以我猜你是在第一个语句之后做的,如果没有,那么你会得到编译错误。

您刚刚对c进行了延迟,但从未将其设置为任何值,因此c<=3始终为真,您最终会无限循环。

答案 2 :(得分:-2)

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim counterR As Integer = 1
    Dim counterC As Integer = 1
    Do While counterR <= 10
        Do While counterC <= 10
            TextBox1.Text += (counterC * counterR).ToString + " "
            'TextBox1.Text += counter.ToString + vbCrlf
            counterC += 1
        Loop
        TextBox1.Text += vbCrLf
        counterR += 1
        counterC = 1
    Loop

End Sub

结束班