21xrx.com
2024-11-05 17:22:26 Tuesday
登录
文章检索 我的文章 写文章
C++编程实现右三角九九乘法表输出
2023-07-08 15:22:58 深夜i     --     --
C++ 编程 右三角 九九乘法表 输出

在C++编程中,经典的九九乘法表一直是大家熟知的编程题。今天,我们要来实现一个有趣的变化,在输出九九乘法表的同时,以右三角的形式展现出来。

在实现之前,我们首先要明确九九乘法表的基本形式。例如:

1*1=1 

1*2=2 2*2=4 

1*3=3 2*3=6 3*3=9 

1*4=4 2*4=8 3*4=12 4*4=16 

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

我们可以看到,每一行都包含了多个式子,其中第一个式子的结果是1的倍数,第二个式子的结果是2的倍数,第三个式子的结果是3的倍数……一直到第n个式子的结果是n的倍数。

那么,为了实现右三角的形式,我们需要对每一行输出进行一些处理。以第1行为例,输出结果应该是:

     1 

   1  2 

 1  2  3 

我们可以看到,每一个数字都是对齐在这一行的末尾的,并且数字前面使用了一些空格进行填充。

那么,为了实现这个效果,我们需要记录每个数字的长度,并计算出一个对于空格数的偏移量。这个偏移量等于这一行中最长数字的长度减去当前数字长度再加一。

接下来,我们可以依次输出每一个数字,并且在输出之前进行相应的空格填充。具体的代码实现如下所示:


#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

  // 循环控制

  for(int i = 1; i <= 9; i++)

  {

    // 计算偏移量和数字长度

    int offset = 3 * (9 - i);

    int length = i;

    // 输出空格

    for(int j = 0; j < offset; j++)

    

      cout << ' ';

    

    // 输出数字

    for(int j = 1; j <= i; j++)

    {

      cout << setw(length) << j << "*" << i << "=" << setw(length) << i * j << ' ';

    }

    // 换行

    cout << endl;

  }

  return 0;

}

在输出的时候,我们使用了iomanip头文件中的setw函数来指定每个数字的长度。

那么,通过这个简单的代码实现,我们就可以在终端上输出一个优美而有趣的右三角九九乘法表了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复