杨辉三角 请帮我看看哪错了谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:15:14
#include <iostream>
using namespace std;
void dayin(int n)
{
int a[255][255];
int x,y=0;
a[1][0]=a[1][1]=a[0][0]=1;
for(x=1;x<n;x++)
{
for(y=0;y<x+1;y++)
{
a[x][y]=a[x-1][y-1]+a[x-1][y];
cout<<a[x][y];
}
cout<<"\n";
}
}
int main()
{
int n;
cout<<"输入要打印的行数";
cin>>n;
dayin(n);
return 0;
}
谢谢各位啦!

int a[255][255];
这里的数组没有完全初始化 导致后面用的时候出现随即值
改善方法 可以令数组全初始话为0
int a[255][255] = {0,};

也可以
static int a[255][255];

呵呵 试一试

看一下我给你改的吧 麻烦了点
#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;
void dayin(int n)
{
int a[255][255];
int x,y=0;
for(int i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(x=1;x<n;x++)
{
for(y=1;y<x+1;y++)
{
a[x][y]=a[x-1][y-1]+a[x-1][y];
}
}

for(int j=0;j<n;j++)
{
for(int k=0;k<j+1;k++)
{
cout<<setw(4)<<a[j][k];
}
cout<<endl;
}
}
int main()
{
int n;