关于C++输出对齐的问题

img


请问各位大佬,想让输出的name,age,和sex分别对齐请问代码要怎么写啊

我们可以用std::left<<setw(20)和std::right<<setw(6)

img

#include<iostream>
#include<iomanip>
using  namespace  std;
int   main()
{
     cout<<std::left<<setw(20)<< "商品名" <<std::right<<setw(6)<< "金额" <<endl;
     cout<<std::left<<setw(20)<< "苹果" <<std::right<<setw(6)<<123<<endl;
     cout<<std::left<<setw(20)<< "香蕉橘子" <<std::right<<setw(6)<<1456<<endl;
}

代码如下,效果如图所示:

#include <iostream>
#include <string>
#include <iomanip> //记得添加这个头文件

using namespace std;

int main() {

    string name1 = "wdnmd";
    string name2 = "我带你们打";
    cout << "name:" << setw(12) << setiosflags(ios::right) << name1 << endl; //设置姓名宽度为12,右对齐
    cout << "name:" << setw(12) << setiosflags(ios::right) << name2 << endl; //设置姓名宽度为12,右对齐
    return 0;
}

img