| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖
标题:求高人指点,怎么输出一个对齐的金字塔形。
只看楼主 加入收藏
downeychou
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-11-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求高人指点,怎么输出一个对齐的金字塔形。
#include
#include
using namespace std;
int main()
{
    int a[11][21],i,j;
    for(j=0;j<21;j++)
     for(i=j;i<11;i++)
     {a[i][j]=(j+1)*2-1;}
for(i=0;i<11;i++)
 {    cout<<SETW(32-3*I)<<A[I][0]<<"  ";
    for(j=1;j<(i+1)*2-1;j++)
    {if(j>i)a[i][j]=a[i][2*i-j];
     cout<<A[I][J]<<"  ";
    }
    cout<<ENDL;
 }
return 0;
}

  这个程序运行后得到的金字塔后面不是对齐的,怎么修改一下就可以变成对齐的
                                1
                              1   3   1
                          1   3   5   3   1
                      1   3   5   7   5   3   1
                  1   3   5   7   9   7   5   3   1
                                          
           1   3                21             3  1
还有个问题,怎么让数字中间对齐?
谢谢
搜索更多相关主题的帖子: include 金字塔 return 
2013-11-17 13:00
p832lun
Rank: 2
等 级:论坛游民
帖 子:7
专家分:31
注 册:2013-11-17
收藏
得分:20 
既然使用了setw()来控制输出字符,就不要用空格来进行缩进了(到底有几个空格很难数)。
下面是修改的代码
程序代码:
#include <iostream>

 #include <iomanip>



 using namespace std;

 int main()

 {
     int a[11][21],i,j;
     cout<<right;  
//输出格式右对齐,左对齐的话就不是金字塔而是下三角了
     for(j=0;j<21;j++)
      for(i=j;i<11;i++){
            a[i][j]=(j+1)*2-1;}

 for(i=0;i<11;i++)
     {  
     cout<<setw(33-3*i)<<a[i][0];//这里我用的33,
         for(j=1;j<(i+1)*2-1;j++)
             {
                if(j>i)a[i][j]=a[i][2*i-j];
                  cout<<setw(3)<<a[i][j];//这里也改过,也改成控制输出格式,不用空格;
                }
         cout<<endl;
       }

 return 0;

 }

截图,
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-11-17 16:32
downeychou
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-11-13
收藏
得分:0 
回复 2楼 p832lun
好的  谢谢啦
2013-11-17 17:34
快速回复:求高人指点,怎么输出一个对齐的金字塔形。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023740 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved