App下載

結(jié)合C#基礎(chǔ)知識打印九九乘法表

拖延俱樂部 2021-12-15 10:46:40 瀏覽數(shù) (4301)
反饋

前面幾天里,學(xué)習(xí)并記錄了 C# 編程語言的部分基礎(chǔ)知識內(nèi)容。學(xué)習(xí)是需要不斷地學(xué)而時(shí)習(xí)之,一是為了鞏固前面所學(xué)的知識,二是對前面學(xué)習(xí)的內(nèi)容查缺補(bǔ)漏。因此,為了檢驗(yàn)前面所學(xué),下面以九九乘法表為例,做一個(gè)題目練習(xí)。

1、九九乘法表(一)

思路分析

最笨的方法,就是輸入九個(gè) ?Console.WriteLine()? 在括號里填上對應(yīng)的內(nèi)容,如 ?1 * 1 = 1? 等等。顯然,如果這么做,那么學(xué)習(xí)編程語言的意義在哪里?我寫在紙上都比這快。

首先,我們并不希望手動(dòng)地一個(gè)一個(gè)敲出數(shù)字 1 到 9,而希望是程序能夠自動(dòng)輸出 1 到 9.因此這里需要使用循環(huán)語句,例如:

for(int i=1;i<=9;i++){...}

這樣一來,就可以獲得了數(shù)字 1 到 9 的內(nèi)容。

但我們需要的是兩個(gè)數(shù)字相乘,前面的循環(huán)語句雖然獲取了一組數(shù)字,但是每次調(diào)用的時(shí)候只有一個(gè)。因此,還需要再一個(gè)循環(huán)嵌套,獲取第二個(gè)數(shù)字來進(jìn)行相乘。

for(int j=1;j<=9;j++){...}

這樣的結(jié)果,是存在一些重復(fù)的內(nèi)容,例如:?1 * 2 = 2 ?和 ?2 * 1 = 2? 。這里,我們需要剔除一些重復(fù)的部分。只需要將上面循環(huán)的條件做一些修改即可:

for(int j=1;j<=i;j++){...}

另外還要提一下 C# 中兩種打印方式,一種是不換行打印 ?Console.Write()?,一種則是換行打印? Console.WriteLine()?,也相當(dāng)于? Console.Write("\n")?.

代碼實(shí)現(xiàn)

for(int i=1;i<=9;i++){
    for(int j=1;j<=i;j++){
		int num = j * i;
        Console.Write("{0} * {1} = {2}", j, i, num);
    }
    Console.WriteLine();
}

運(yùn)行結(jié)果

在這里插入圖片描述

2、九九乘法表(二)

思路分析

上面的九九乘法表是第一列是 ?1*x=y?,第二列則是 ?2*x=y?…

這時(shí)候變個(gè)需求,希望第一行是 ?1*x=y?,第二行是?2*x=y?…

具體的實(shí)現(xiàn)也和上面的思路差不多:

for (int i = 1; i <= 9; i++){
    for (int j = i; j <= 9; j++){
        int num = i * j;
        Console.Write("{0} * {1} = {2}\t", i, j, num);
    }
    Console.WriteLine();
}

在這里插入圖片描述

結(jié)果是完成了前面的需求,但是這時(shí)候又萌生了一個(gè)需求,第一列是? x*1=y?,第二列是?x*2=y?…說白了,就是靠右對齊。

首先在上面的程序基礎(chǔ)上,我保留了所有,包括了重復(fù)的部分。其次加入了判斷語句,如果第一個(gè)數(shù)字比第二個(gè)數(shù)字小,那么就直接輸出空白。否則就正常輸出。

實(shí)現(xiàn)代碼

for (int i = 1; i <= 9; i++)
{
    for (int j = 1; j <= 9; j++)
    {
        if (j < i)
        {
            Console.Write("\t\t");
        }
        else
        {
            int num = j * i;
            Console.Write("{0} * {1} = {2}\t", i, j, num);
        }

    }
    Console.WriteLine();
}

運(yùn)行結(jié)果

在這里插入圖片描述

三、總結(jié)

九九乘法表的打印雖然簡單,但也不失樂趣,可以換著花樣來打印乘法表,在這其中也鍛煉了對于編程的邏輯思維。

在寫本篇學(xué)習(xí)記錄的時(shí)候,程序編程方面基本沒啥問題。最大的問題就在于我的表述能力和書面能力,寫的腦瓜子都是嗡嗡的。

如文中若有不當(dāng)之處,或者謬誤之處,還望大家不吝賜教。


C#

0 人點(diǎn)贊