21xrx.com
2024-06-02 22:32:35 Sunday
登录
文章检索 我的文章 写文章
C++程序实现九九乘法表矩形打印
2023-07-04 21:20:05 深夜i     --     --
C++ 九九乘法表 矩形 打印 程序实现

九九乘法表是小学数学教育中的必修知识,不仅让学生掌握了乘法的基本概念,还能够锻炼他们的计算能力和思维能力。但是,我们如何通过 C++ 程序来实现九九乘法表的矩形打印呢?

首先,我们需要知道九九乘法表的规律,即每一行的乘数范围是 1~9,乘积为乘数与行数的积,因此我们可以使用双重循环嵌套的方式一个一个输出每个位置的值。代码如下:


#include <iostream>

using namespace std;

int main()

{

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

  {

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

    {

      cout<<i<<"*"<<j<<"="<<i*j<<"\t";

    }

    cout<<endl;

  }

  return 0;

}

接下来,我们可以对输出进行美化处理,使得输出的形式更加符合要求。为了输出一个矩形,我们需要确定每一行的输出宽度,然后在每个位置上补齐空格使得所有行的输出宽度相等。

我们可以使用 stringstream 类型来实现这一目标,该类型可以像字符串流一样进行输入和输出操作。首先,我们可以将 i*j 转换为字符串类型,然后根据字符串的长度确定每个输出位置的宽度,然后在字符串前面补齐相应的空格即可。代码如下:


#include <iostream>

#include <sstream>

using namespace std;

int main()

{

  stringstream ss;

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

  {

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

    {

      ss<<i*j;

      string str = ss.str();//转为字符串

      if(str.length()==1)//如果是一位数,则在其前面补一个空格

      {

        str.insert(0," ");

      }

      cout<<i<<"*"<<j<<"="<<str<<"\t";

      ss.str("");//清空缓存区

    }

    cout<<endl;

  }

  return 0;

}

最后,我们需要在每个输出位置上加上边框,这样就可以形成矩形。我们可以在每行输出的前后分别加上一排边框,然后在每个输出位置的前后分别加上一个竖线。代码如下:


#include <iostream>

#include <sstream>

using namespace std;

int main()

{

  stringstream ss;

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

  {

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

    {

      ss<<i*j;

      string str = ss.str();//转为字符串

      if(str.length()==1)//如果是一位数,则在其前面补一个空格

      {

        str.insert(0," ");

      }

      cout<<"|"<<i<<"*"<<j<<"="<<str<<"|";//加上竖线和边框

      ss.str("");//清空缓存区

    }

    cout<<endl;

    if(i==1)//第一行

    {

      for(int k=0;k<81;k++)

      

        cout<<"-";//加上边框

      

      cout<<endl;

    }

    else if(i==9)//最后一行

    {

      for(int k=0;k<81;k++)

      

        cout<<"-";//加上边框

      

    }

    else//其他行

    {

      for(int k=0;k<81;k++)

      

        cout<<"-";//加上边框

      

      cout<<endl;

    }

  }

  return 0;

}

经过以上优化处理,我们就可以得到一张美观的九九乘法表矩形了。该程序不仅能够增加我们输出格式化的经验,同时也能够巩固我们的编程基础知识,帮助我们更好地理解循环语句和流类对象的使用方法。

  
  

评论区

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