结合C#基础知识打印九九乘法表

拖延俱乐部 2021-12-15 10:46:40 浏览数 (4431)
反馈

前面几天里,学习并记录了 C# 编程语言的部分基础知识内容。学习是需要不断地学而时习之,一是为了巩固前面所学的知识,二是对前面学习的内容查缺补漏。因此,为了检验前面所学,下面以九九乘法表为例,做一个题目练习。

1、九九乘法表(一)

思路分析

最笨的方法,就是输入九个 ​Console.WriteLine()​ 在括号里填上对应的内容,如 ​1 * 1 = 1​ 等等。显然,如果这么做,那么学习编程语言的意义在哪里?我写在纸上都比这快。

首先,我们并不希望手动地一个一个敲出数字 1 到 9,而希望是程序能够自动输出 1 到 9.因此这里需要使用循环语句,例如:

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

这样一来,就可以获得了数字 1 到 9 的内容。

但我们需要的是两个数字相乘,前面的循环语句虽然获取了一组数字,但是每次调用的时候只有一个。因此,还需要再一个循环嵌套,获取第二个数字来进行相乘。

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

这样的结果,是存在一些重复的内容,例如:​1 * 2 = 2 ​和 ​2 * 1 = 2​ 。这里,我们需要剔除一些重复的部分。只需要将上面循环的条件做一些修改即可:

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

另外还要提一下 C# 中两种打印方式,一种是不换行打印 ​Console.Write()​,一种则是换行打印​ Console.WriteLine()​,也相当于​ Console.Write("\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();
}

运行结果

在这里插入图片描述

2、九九乘法表(二)

思路分析

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

这时候变个需求,希望第一行是 ​1*x=y​,第二行是​2*x=y​…

具体的实现也和上面的思路差不多:

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();
}

在这里插入图片描述

结果是完成了前面的需求,但是这时候又萌生了一个需求,第一列是​ x*1=y​,第二列是​x*2=y​…说白了,就是靠右对齐。

首先在上面的程序基础上,我保留了所有,包括了重复的部分。其次加入了判断语句,如果第一个数字比第二个数字小,那么就直接输出空白。否则就正常输出。

实现代码

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();
}

运行结果

在这里插入图片描述

三、总结

九九乘法表的打印虽然简单,但也不失乐趣,可以换着花样来打印乘法表,在这其中也锻炼了对于编程的逻辑思维。

在写本篇学习记录的时候,程序编程方面基本没啥问题。最大的问题就在于我的表述能力和书面能力,写的脑瓜子都是嗡嗡的。

如文中若有不当之处,或者谬误之处,还望大家不吝赐教。


C#

0 人点赞