采用递归的方法输出杨辉三角的前10行
1
/*该程序采用递归的方法输出杨辉三角的前10行*/
2
#include<stdio.h>
3
#define N 10/*打印的行数*/
4
5
int main(void)
6
{
7
int i,j;
8
9
for(i=0;i<=N;i++) /*控制输出N行*/
10
{
11
/*for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
12
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
13
{
14
printf("\n");
15
}
16
}
17
18
return 0;
19
}
20
21
int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
22
{
23
int z;
24
if((y==1)||(y==x+1)) return 1; /*若为x行的第1或第x+1列,则输出1*/
25
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
26
27
return z;
28
}
29
/* CopyRight @2006 FreeFox All right reserved */
30

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步