怎样用二维数组输出等腰杨辉三角(c++)

要基础的,只用for循环,开头是#include<iostream>#include<iomanip>usingnamespacestd;voidmain()... 要基础的,只用for循环,开头是
#include<iostream>
#include<iomanip>
using namespace std;
void main()
展开
 我来答
kaixingui2012
推荐于2017-09-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6408万
展开全部

实现方法:

  1. 定义一个足够大的二维数组(控制最大输出行)a[N][N],并初始化前两行{1},{1,1}

  2. 输入要显示的行数n

  3. 根据显示行数n进行相应位置的数组数据赋值

    1. 首位和对角线位赋值1

    2. 其余位按公式a[i][j]=a[i-1][j-1]+a[i-1][j];进行赋值

  4. 根据显示行数n进行数据输出

    1. 先输出前导空格

    2. 输出当前行的数组数据

参考代码:

#include <iostream>
#include <iomanip>
using namespace std ;
#define N 15
void main()
{
int a[N][N]={{1},{1,1}};
int i,j,n;

cout << "input n: "; 
do { cin >> n; }while(n>=N); //防止越界
for(i=2;i<n;i++) //数组赋值
{
a[i][0]=1;
a[i][i]=1;
for( j=1;j<i;j++ )
a[i][j]=a[i-1][j-1]+a[i-1][j];
}

for( i=0;i<n;i++ )
{
for( j=0;j<n-i-1;j++ ) 
cout << setw(3) << " " ;//前导空格,为单个数据的一半宽度 
for( j=0;j<=i;j++ )
cout << setw(6) << a[i][j] ;
cout<<endl;
}
}

 程序运行:

百度网友c438d1ee3
推荐于2017-09-06 · TA获得超过930个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:203万
展开全部
我前几天刚好写了个,现在给你吧
#include<iostream>
#include<iomanip>
using namespace std;
#define t 11
void main()
{
int i,j,k;
int a[t][t];
for(i=1;i<t;i++)
{
a[i][i]=1;
a[i][1]=1;
}

for(i=3;i<t;i++)
for(j=2;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=1;i<t;i++)
{
for(k=1;k<3*(t-i);k++)
cout<<' ';
for(j=1;j<=i;j++)
if(j==1)
cout<<a[i][j];
else
cout<<setw(6)<<a[i][j];
cout<<endl;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huage0821
2010-05-15 · TA获得超过131个赞
知道答主
回答量:41
采纳率:0%
帮助的人:38.2万
展开全部
//用c写的,你改改吧
#include"stdio.h"
#define n 10
#define wideword 4
void main(){
int a[11],b[11],i,j;
for(i=0;i<=n;i++){
/*sheng cheng di i hang*/
for(j=1;j<i;j++)
a[j]=b[j-1]+b[j];
a[i]=1;
/*xing cheng xia yi ci de i-1 hang*/
for(j=0;j<=i;j++)
b[j]=a[j];
/*da yin di i hang */
for(j=0;j<=40-i*(wideword/2);j++)
printf("%c",' ');
for(j=0;j<=i;j++)
printf("%4d",a[j]);
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gqgq0311
2010-05-15 · TA获得超过768个赞
知道小有建树答主
回答量:563
采纳率:100%
帮助的人:269万
展开全部
分数50 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式