21xrx.com
2024-12-28 09:30:10 Saturday
登录
文章检索 我的文章 写文章
如何对齐C++输出的乘法口诀表?
2023-06-30 13:58:57 深夜i     --     --
C++ 输出 乘法口诀表 对齐

C++是一种流行的编程语言,常用于编写计算机程序。在学习C++编程时,经常需要输出乘法口诀表,然而在输出时,如果没有正确对齐,就会出现不整齐的情况,影响输出的美观度。本文将介绍如何对齐C++输出的乘法口诀表。

一、使用setw()函数

在C++标准库中,有一个setw()函数,可以设置输出字段的宽度。使用该函数可以使输出更加整齐。以输出九九乘法表为例:


#include<iostream>

#include<iomanip>

using namespace std;

int main(){

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

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

      cout<<setw(2)<<j<<"*"<<setw(2)<<i<<"="<<setw(2)<<i*j<<" ";

    }

    cout<<endl;

  }

  return 0;

}

其中setw(2)表示输出的数字占用2个字符宽度,不足2个字符用空格填充。

二、使用setfill()函数

在输出的数字位数不一致时,可以使用setfill()函数填充空格。该函数需要与setw()函数一起使用。以输出1-100的乘法口诀表为例:


#include<iostream>

#include<iomanip>

using namespace std;

int main(){

  for(int i=1;i<=10;i++){

    for(int j=1;j<=10;j++){

      cout<<setw(2)<<setfill(' ')<<j<<"*"<<setw(2)<<setfill(' ')<<i<<"="<<setw(3)<<setfill(' ')<<i*j<<" ";

    }

    cout<<endl;

  }

  return 0;

}

其中setfill(' ')表示以空格填充输出字段,setw(2)表示输出的数字占用2个字符宽度,setw(3)表示等号及结果占用3个字符宽度。

三、按位对齐

如果不想使用setw()和setfill()函数,也可以手动按位对齐。以输出1-100的乘法口诀表为例:


#include<iostream>

using namespace std;

int main(){

  for(int i=1;i<=10;i++){

    for(int j=1;j<=10;j++){

      int res=i*j;

      if(res<10){

        cout<<" "<<j<<"* "<<i<<"= "<<res<<" ";

      }

      else if(res<100){

        cout<<" "<<j<<"* "<<i<<"= "<<res<<" ";

      }

      else{

        cout<<j<<"*"<<i<<"="<<res<<" ";

      }

    }

    cout<<endl;

  }

  return 0;

}

不同位数的数字输出时,占用的字符宽度不同,这时可以手动添加空格,使得所有输出的位数对齐。值得注意的是,手动对齐不但比较麻烦,而且对于稍微复杂的输出,手动对齐难度很大。

总之,无论是使用C++标准库函数还是手动按位对齐,都可以对齐C++输出的乘法口诀表,使输出更加整齐、美观。

  
  

评论区

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