21xrx.com
2024-12-27 07:03:11 Friday
登录
文章检索 我的文章 写文章
如何在C++中将输出数据居中对齐?
2023-07-07 17:55:20 深夜i     --     --
C++ 输出 居中对齐 格式控制 iomanip库

在C++中,要将输出数据居中对齐需要使用一些控制符和计算方法。下面介绍其中的两种方法:

方法一:使用setw和setfill

setw(n)可以设置下一个输出字符占用 n 个位置,而setfill(c)可以把剩余的位置用字符 c 补齐。

例如,下面的代码可以将数字 123 居中打印在宽度为 10 的输出区域中:


#include<iostream>

#include<iomanip>

using namespace std;

int main(){

  int n = 123;

  cout<<setw(10)<<setfill(' ')<<n<<endl;

  return 0;

}

输出结果为:


  123  

方法二:计算空格数

在输出数据之前,可以先计算左边需要输出的空格数,然后再将数据输出。计算方法如下:


spaces = (width - data.length()) / 2;

其中,width 是输出区域的宽度,data.length() 是数据的长度。可以使用上述方法二的计算公式将数字居中打印在宽度为 10 的输出区域中:


#include<iostream>

#include<string>

using namespace std;

int main(){

  int n = 123;

  string data = to_string(n);

  int width = 10;

  int spaces = (width - data.length()) / 2;

  for(int i = 0; i < spaces; i++)

    cout<<" ";

  cout<<data<<endl;

  return 0;

}

输出结果同样为:


  123  

以上两种方法均可实现在C++中将输出数据居中对齐。如果需要对不同的数据类型进行处理,可以结合类型转换等方法实现。

  
  

评论区

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