关于杨辉三角!

heipifeng 2002-11-27 06:51:41
有谁知道杨辉三角用c语言怎么编,要等腰三角形。
还有一个问题是,报数问题,100个人,报数,报道8 的出来,然后重新开始报到8出来,最后全都出来了。
请给我源代码,谢谢。
马上要用。
...全文
348 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
heipifeng 2002-11-28
  • 打赏
  • 举报
回复
多谢各位了。
Bandry 2002-11-28
  • 打赏
  • 举报
回复
清华出的《数据结构》-C语言版里面有一个类似的题目(基本一样),抽空去书店看看,带笔和纸抄下来就可以了。如果同学有,免了去书店。
记得原题是15,数7,可能记错了,现在没时间给你写,其实两个循环就搞定了。
dawn33 2002-11-28
  • 打赏
  • 举报
回复
#include <stdio.h>
void main()
{
int i,j,k;
const n=100,m=8; //n表示有多少个人,m表示抱到哪个数就出去。
int a[n];
for(i=0;i<n;i++)
{
a[i]=i+1;
printf("%d ",a[i]);
}
printf("\n");
i=-1;
j=0;
k=0; //是一个标致,表示有多少个人退出圈子。
while(1)
{
i=(i+1)%n;
if (a[i]!=0)
{
j++;
if(j%m==0)
{
a[i]=0;
k++;
}
}

if (k==n-1)
break;
}
printf("\n");
for (i=0;i<n;i++)
printf("%d ",a[i]);

}
sylmoon 2002-11-28
  • 打赏
  • 举报
回复
deng
heipifeng 2002-11-28
  • 打赏
  • 举报
回复
怎么后面一个问题没有人会吗?
heipifeng 2002-11-27
  • 打赏
  • 举报
回复
#define N 11
main()
{
int i,j,k,a[N][N];
for (i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for (i=3;i<N;i++)
for (j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for (i=1;i<N;i++)
{for(k=1;k<10-i,k++)
printf(" ")'要有空格
for (j=1;j<=i;j++)
printf ("%6d",a[i][j]);
printf ("\n");
}
printf ("\n");
}
我改了一下,这么做就是等腰了。谢谢各位。
后面的一个问题会做吗?不是交作业,是老师抽查啊。
countryboy 2002-11-27
  • 打赏
  • 举报
回复
杨辉三角形,是等腰三角形的
#include <stdio.h>
void main(void)
{
static int array[10][10],i,j,k;
for(i=0;i<10;i++)
{
array[i][i]=array[i][0]=1;
for(j=1;j<=i;j++)
array[i][j]=array[i-1][j]+array[i-1][j-1];
}
for(i=0;i<10;i++)
{
for(k=0;k<10-i;k++)
printf(" "); /*三个空格*/
for(j=0;j<=i;j++)
{
printf("%5d",array[i][j]);
printf(" ");
}
printf("\n");
}
}
林水福 2002-11-27
  • 打赏
  • 举报
回复
你是不是想考三级啊
我可是做过了啊!!

1)设高为5
int i,j,k;
int a[5];
i=j=k=5;
for(i=0;i<j;i++) {a[i][0]=1;a[i][i]=1;}
for(i=2;i<j;i++)
for(k=1;k<j;k++)
a[i][k]=a[i-2][k-1]+a[i-1][k];
这只是实现了等腰三角形的一半啦(就是只有一半边啦)

2)
这不是全国4级有考过吗?

zyplwt 2002-11-27
  • 打赏
  • 举报
回复
C语言练习册上有答案
xulei55969com 2002-11-27
  • 打赏
  • 举报
回复
上面的程序如果有不对的地方的话,请各位大侠多多指导!
OICQ:26652997
xulei55969com 2002-11-27
  • 打赏
  • 举报
回复
#define N 11
main()
{
int i,j,a[N][N];
for (i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for (i=3;i<N;i++)
for (j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for (i=1;i<N;i++)
{
for (j=1;j<=i;j++)
printf ("%6d",a[i][j]);
printf ("\n");
}
printf ("\n");
}
whyNotHere 2002-11-27
  • 打赏
  • 举报
回复
交作业吧,很会偷懒的学生。可惜我也没有源码,没法给你发,
看谁有,或着有耐心给你写一个。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧