繁体   English   中英

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

[英]How to print Multiplication table by taking values from user using two do-while 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)

正如人们以前所说,这个问题有几个问题,我们无法提供一个可靠的答案。 代码不完整,并且不完全知道您刚开始遇到的错误。

但是,据我所知(当然要作一些假设)

  1. 最大的是int c;的未初始化int c; 在调用它之前, c必须等于某物 例如。 int c = 0将消除该问题。

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

     do { do { something } while(something is true) } while (something else is true) 

但是,这似乎已经过时了。

  1. 功能

     Console.WriteLine(c+"*"+d+"="+(c*d)); b++; 

对我来说真的没有意义。 您应该使用b而不是c吗? 如果不是,则c = b吗?

我看不到第二条while语句,因此我不得不猜测您是在第一条语句之后完成的,否则,您会收到编译器错误。

您只是将c贬值了,但从未将其设置为任何值,因此c<=3始终为true,并且最终陷入无限循环。

公开课表格1

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

末级

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM