主题:众位朋友们,来帮助一下小弟弟吧!!!!!!!
飞鹰虎
[专家分:80] 发布于 2003-05-18 03:01:00
打杨辉三角(没有成功)求助
#include<iostream.h>
void main()
{int a[n][],i,j;
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
{if (i==0||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for (i=0;i<n;i++)
for(j=0;j<i;j++)
cout<<a[i][j];
cout<<endl;
}
回复列表 (共5个回复)
沙发
meteor135 [专家分:6060] 发布于 2003-05-18 09:04:00
你的程序有很多问题。
如果仅是想要实现,该论坛上有一个帖子,我给出了很完整的回复。
自己去找一下吧。
板凳
meteor135 [专家分:6060] 发布于 2003-05-18 20:10:00
这是我帮你改好的:
#include <iostream.h>
#include <iomanip.h>
int prompt()
{
int n;
cout<<"Input a positive number,"<<endl
<<"nonpositive will quit!"<<endl
<<"=:";
cin>>n;
cin.delbuf();
return n;
}
void main()
{
int i,j,n;
while((n=prompt())>0)
{
int **a=new int*[n];
for(i=0;i<n;i++)
{
a[i] = new int[i+1];
for(j=0;j<=i;j++)
{
if (j==i||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for (i=0;i<n;i++)
{
for(j=0;j<=i;j++)
cout<<setw(80/n)<<a[i][j];
cout<<endl;
delete[] a[i];
}
delete []a;
}
}
3 楼
meteor135 [专家分:6060] 发布于 2003-05-18 20:23:00
//杨辉三角程序的C++实现
//作者:meteor135
//时间:2003.5.18
#include <iostream.h>
#include <iomanip.h>
int prompt()
{
int n;
cout<<"Input a positive number,"<<endl
<<"nonpositive will quit!"<<endl
<<"=:";
cin>>n;
cin.delbuf();
return n;
}
void main()
{
int i,j,n;
while((n=prompt())>0)
{
int **a=new int*[n];
for(i=0;i<n;i++)
{
a[i] = new int[i+1];
a[i][i]=a[i][0]=1;//这里稍做修改
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for (i=0;i<n;i++)
{
for(j=0;j<=i;j++)
cout<<setw(80/n)<<a[i][j];
cout<<endl;
delete[] a[i];
}
delete []a;
}
}
4 楼
飞鹰虎 [专家分:80] 发布于 2003-05-20 16:59:00
[font=黑体][/font][size=5][/size][color=000080][/color]谢谢,谢谢-太谢谢了
5 楼
meteor135 [专家分:6060] 发布于 2003-05-20 18:26:00
[font=黑体]不客气![/font]
我来回复