最近周末在参加嵌入式培训,才学到C语言函数部分,,用VS 2018软件写的。收集整理如下
/*
3. 打印出杨辉三角形(要求打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
……………….
*/
#pragma warning(disable:4996)
#include <stdio.h>
int yhsj(int n,int m);
int putdata(int n, int m);
int main()
{
int n =10; //n行
int m =10; //m列
putdata(n, m);
return 0;
}
int putdata(int n, int m)
{
int i, j;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
{
if (j > i) //如果列大于行,打印换行并中断函数
{
printf("\n");
break;
}
printf("%-4d", yhsj(i, j)); //打印某行某列的值
}
}
return 0;
}
int yhsj(int n,int m) //单独返回某行某列的值
{
int rec;
if ((m == 1) || (n == 2 && m == 2) || (n == m)) //第一列,第二行,还有行列相同的时候都为1.
{
return 1;
}
else //if(m < n) //列小于行才有数字。
{
rec = yhsj(n - 1, m - 1) + yhsj(n - 1, m);
return rec;
}
}
/*
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 请按任意键继续. . .
*/