求解:在屏幕中间输出“杨辉三角”

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助

求解:在屏幕中间输出“杨辉三角”

221.232.112.*

1楼

HELP!!

2楼

不会吧!!!没人能解??还是不想解??
 大哥们帮帮忙!!!!

61.130.173.*

3楼

#include"stdio.h"
void main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
 {a[i][0]=1;
 a[i][i]=1;}
for(i=2;i<10;i++)
 for(j=1;j<i;j++)
 a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
 {for(j=0;j<=i;j++)
 printf("%5d",a[i][j]);
 printf("\n");
 }
}
 输出结果: 1
      1  1
      1  2  1
      1  3  3  1
      1  4  6  4  1
      1  5  10 10 5  1

5楼

你看这样如何?

#define N 7
viod yanghui(int x[N][N])
{int i,j;
for(i=1;i<N;i++)
{x[i][0]=x[i][i]=1;
 for(j=1;j<i;j++)
x[i][j]=x[i-1][j-1]+x[i-1][j];
}
}

我都快CHARGE IT DEPT

6楼

以下以输出前13行为例:
#define P 13 /* P可以改为其他正整数 */
main()
{int a[P],r,c;
for(r=0;r<=P;r++)
 {a[r]=1;
 for(c=r-1;c>=1;a[c--]+=a[c-1]);
 printf("%*d",(P-r)*3+1,a[0]);
 for(c=1;c<=r;printf("%6d",a[c++]));
 printf("\n");}}
执行结果:
 1
 1 1
 1 2 1
 1 3 3 1
 1 4 6 4 1
 1 5 10 10 5 1
 1 6 15 20 15 6 1
 1 7 21 35 35 21 7 1
 1 8 28 56 70 56 28 8 1
 1 9 36 84 126 126 84 36 9 1
 1 10 45 120 210 252 210 120 45 10 1
 1 11 55 165 330 462 462 330 165 55 11 1
 1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1

7楼

上面的那个帖子里的输出结果其实是个等腰三角形,显示成现在这个样子是贴吧造成的。

8楼

为什么,我运行时,系统会提示,不能打开头文件,"stdio.h"

9楼

你用TC??

10楼

在游戏时总被弹出!!!!!
谁有高招???

11楼

为什么,我运行时,系统会提示,不能打开头文件,"stdio.h" 
 
明天就要考试了,看来我是挂了》》》》

12楼

神啊!!救救我吧!!!
一把年纪了,,一个…………………………

13楼

我期待着黑客的到来。。。。... ̄ ̄ ̄ ̄ ̄ ̄

14楼

不能打开stdio.h文件,是路径错误的问题,参看置顶文章重新设置路径吧

15楼

thank
219.136.136.*

16楼

这样求出的并不是杨辉三用啊!
要把a[i][i]=1换成a[i][i]=0才可以啊,为什么?

221.194.25.*

17楼

我执行这个程序的结果怎么不是这样子??

18楼

8楼的你把那个文本文档放在TC的根目录下,试试看,应该就可以了
60.25.140.*

19楼

为何第一个数是158,后面的则完全一样?
218.108.246.*

20楼

要是要打印另一种形式的杨辉三角,程序又是什么样子的阿?
61.129.192.*

21楼

#include<stdio.h>
void main()
{
 int i,j,n=13;
 printf("N=");
 while(n>12)
scanf("%d",&n);
 for(i=0;i<=n;i++)
 {
for(j=0;j<24-2*i;j++) printf(" ");
for(j=1;j<i+2;j++) printf("%4d",c(i,j));
printf("\n");
 }
}
int c(int x,int y)
{
 int z;
 if((y==1)||(y==x+1)) return 1;
 z=c(x-1,y-1)+c(x-1,y);
 return z;
}

试试把,我也没把握

211.159.151.*

22楼

宁西贯通,你这个程序是这里面唯一一个能通过的,你能帮我讲讲吗,我不明白,谢谢了,
其他各位老师如果也请帮小弟讲一下,谢谢了,万分感谢

23楼

楼上的朋友,那个程序很直截了当嘛!你是哪一句不明白呀?
要不我再把这个程序用pascal写一下(同一思路,比C程序长,但可能会比C程序好理解一点):
const p=13;
var a:array[0..p]of integer;
 r,c:shortint;
begin
for r:=0 to p do
 begin
 a[r]:=1;
 for c:=r-1 downto 1 do inc(a[c],a[c-1]);
 write(a[0]:(p-r)*3+1);
 for c:=1 to r do write(a[c]:6);
 writeln
 end
end.

218.95.230.*

24楼

求求你们各位高手,帮帮我!如何打印“等腰的杨辉三角”
211.66.82.*

25楼

还是不大明白,可以详细说一下吗?还有没有更简单的???
220.249.34.*

26楼

注意,是<stdio.h>,不是"stdio.h"
219.136.138.*

27楼

借书方案,谁可以告诉我怎么编吗?????
61.185.210.*

28楼

要求在屏幕中输出:
 1
 1 1
 1 2 1
 1 2 3 1
。。。。。。。正三角形 ,谁知道可以告诉我吗?
------一个求知的人。。。

218.28.87.*

29楼

执行不了

30楼

main()
{
int i,j,a[5][5];
 for(i=0;i<5;i++)
 a[i][0]=1;
 for(i=0;i<5;i++)
 for(j=i;j<5;j++)
 a[i][j]=1;
 for(i=2;i<5;i++)
 for(j=1;j<i;j++)
 a[i][j]=a[i-1][j-1]+a[i-1][j];
 for(i=0;i<5;i++)
{ for(j=0;j<=i;j++)
 printf("%d ",a[i][j]);
 printf("\n");
}
}
这是我编写的,我运行,有用!

222.41.202.*

31楼

Ipute:N=9
Output
 1
 1 1
 1 2 1
 1 3 3 1
 1 4 6 4 1
 1 5 10 10 5 1
 1 6 15 20 15 6 1
 1 7 21 35 35 21 7 1
 1 8 28 56 70 56 28 8 1
杨辉三角
急用谢谢了

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈