怎样用二维数组输出等腰杨辉三角(c++)
要基础的,只用for循环,开头是#include<iostream>#include<iomanip>usingnamespacestd;voidmain()...
要基础的,只用for循环,开头是
#include<iostream>
#include<iomanip>
using namespace std;
void main() 展开
#include<iostream>
#include<iomanip>
using namespace std;
void main() 展开
展开全部
实现方法:
定义一个足够大的二维数组(控制最大输出行)a[N][N],并初始化前两行{1},{1,1}
输入要显示的行数n
根据显示行数n进行相应位置的数组数据赋值
首位和对角线位赋值1
其余位按公式a[i][j]=a[i-1][j-1]+a[i-1][j];进行赋值
根据显示行数n进行数据输出
先输出前导空格
输出当前行的数组数据
参考代码:
#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;
}
}
程序运行:
展开全部
我前几天刚好写了个,现在给你吧
#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;
}
}
#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;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//用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");
}
}
#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");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分数50 谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询