主控台應用程式寫九九乘法表

這星期的作業是寫雙層For … Next的迴圈,
作業內容為做出九九乘法表。
在想像中做出九九乘法表就是上下兩排,
上排是1?5,下排是6?9,
就如同小時候墊板後面的九九乘法表一樣!
但剛開始怕寫不出這麼困難的,想說先寫一直排的就好,
有時間再來修正,於是不知不覺把兩種都做出來了。

簡單版的一直排的九九乘法表,

利用主控台應用程式寫的內容。
先設九九乘法表中前位數為x,後位數為y,結果為x*y。
依照此直排的九九乘法表,
x為1時,y為1?9;
x為2時,y為1?9;
依此類推….
因此在外圈的迴圈寫x=1,內圈的y即會從1跑到9,
接下來外圈的x為2時,內圈的y也會從1跑到9,
每跑一行就要換行,因此要用函數console.writeline(),
故寫法如下。

1
2
3
4
5
6
7
8
9
        Dim x, y, result As Integer
        For x = 1 To 9
            For y = 1 To 9
                result = x * y
                Console.WriteLine("{0}x{1}={2}", x, y, result)
            Next
            Console.WriteLine("")
        Next
        Console.Read()

需要排版成如同墊板背面的九九乘法表的形式如下,

利用主控台應用程式寫的內容。
一樣先將九九乘法表中的前衛數設為x,後位數設為y,結果為x*y。
由這次要一次寫完第一列再做換行的動作,
所以第一列的x分別為1、2、3、4、5,而y皆為1,
第二列的x依舊為1、2、3、4、5,而y皆為2,
依此類推…
因此先將外圈固定不動,以y當作外圈,會變動的x當成內圈,
當y=1時,內圈的x會從1跑到5,
當y=2時,內圈的x也是從1跑到5,
依此持續到y等於9,才換到底下的6?9的乘法表,寫法一樣。
由於在寫同一列內圈x從1跑到5,外圈y是1時不需要換行,因此使用函數console.write(),
而當跑完後需要換列到第二列時,則使用函數console.writeline(),
再繼續跑內圈x從1跑到5,外圈y是2,
寫法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        Dim x, y, result As Integer
        For y = 1 To 9
            For x = 1 To 5
                result = x * y
                Console.Write("{0}x{1}={2}  ", x, y, result)
                If result < 10 Then
                    Console.Write(" ")
                End If
            Next
            Console.WriteLine("")
        Next
        Console.WriteLine("")
        For y = 1 To 9
            For x = 6 To 9
                result = x * y
                Console.Write("{0}x{1}={2}  ", x, y, result)
                If result < 10 Then
                    Console.Write(" ")
                End If
            Next
            Console.WriteLine("")
        Next
        Console.Read()

本篇發表於 VB。將永久鍊結加入書籤。

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>