c++ 输出 左对齐

我想输出一个8*8的DOUBLE矩阵,这个矩阵里有的元素是无理数小数,有的元素为0。想把它们对齐输出,不知有什么好的办法for(i=0;i<8;i++){for(j=0;... 我想输出一个8*8的DOUBLE矩阵,这个矩阵里有的元素是无理数小数,有的元素为0。想把它们对齐输出,不知有什么好的办法
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{cout<<x[i][j]<<'\t';}
cout<<endl;
}
这个方法不行,设从第一列开始:
如果输出0,TAB后第二个数会后第九列输出
如果输出1.234567,TAB后第二个数会在第十七列输出
造成了输出结果不齐

PS:在C++输出double时,有时输出小数点后六位,有时输出后七位,有时输出后5位,也导致对不齐的情况。不知有什么解决办法。
谢谢!!!
展开
 我来答
叫声姐姐666
推荐于2017-09-28 · TA获得超过915个赞
知道答主
回答量:191
采纳率:50%
帮助的人:25.8万
展开全部
#include<iostream>
#include<iomanip>
using namespace std;
void 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;
}
//setw(20)  表明输出的宽度   std::left左对齐   std::right右对齐

  

CNnumen911
2010-04-10 · TA获得超过1133个赞
知道小有建树答主
回答量:401
采纳率:100%
帮助的人:677万
展开全部
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
cout.width(20); //加上这句, 设置输出宽度, 20这个值你可以根据情况改下, 或者cout.width(-20), 这两个一个是左对齐, 一个右对齐, 忘记了...
cout<<x[i][j]<<'\t';}
cout<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友18a5f2b92
2010-04-13 · TA获得超过660个赞
知道小有建树答主
回答量:256
采纳率:100%
帮助的人:241万
展开全部
cout<<right<<12; 右对齐 cout<<left<<15; 左对齐

参考资料: 如果您的回答是从其他地方引用,请表明出处

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泉心羽然
2010-04-10 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
用printf();输出可能会行吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式