C语言,输出杨辉三角
2015-05-16 11:01
302 查看
#include "stdio.h"
#include "stdlib.h"
void yanghui_num(int * yanghui, int n);
int yh_one_num(int n, int i);
int main(void)
{
int n;
int
i,j;
printf("请输入要输出杨辉三角的行数:");
scanf("%d",
&n);
char *
space = (char *)malloc(sizeof(char) * (n * 2 + 1));
if(space ==
NULL)
exit(1);
for(i = 0; i
< n * 2; i++)
*(space + i) = ' ';
*(space + i)
= '\0';
int *
yanghui = (int *)malloc(sizeof(int) * (n + 1));
for(i =
0; i < n; i++)
{
yanghui_num(yanghui, i);
printf("%s", space + i * 2);
for(j = 0; j <= i; j++)
printf("- ",
*(yanghui + j));
printf("\n");
}
free(space);
free(yanghui);
space =
NULL;
yanghui =
NULL;
return
0;
}
void yanghui_num(int * yanghui, int n)
{
int i;
for(i = 0; i
<= n; i++)
*(yanghui + i) = yh_one_num(n, i);
}
int yh_one_num(int n, int i)
{
int
numerator = 1, denominator = 1;
int j;
if(i ==
0)
return 1;
for(j = 0; j
< i; j++)
{
numerator *= (n - j);
denominator *= (j + 1);
}
return
numerator / denominator;
}
#include "stdlib.h"
void yanghui_num(int * yanghui, int n);
int yh_one_num(int n, int i);
int main(void)
{
int n;
int
i,j;
printf("请输入要输出杨辉三角的行数:");
scanf("%d",
&n);
char *
space = (char *)malloc(sizeof(char) * (n * 2 + 1));
if(space ==
NULL)
exit(1);
for(i = 0; i
< n * 2; i++)
*(space + i) = ' ';
*(space + i)
= '\0';
int *
yanghui = (int *)malloc(sizeof(int) * (n + 1));
for(i =
0; i < n; i++)
{
yanghui_num(yanghui, i);
printf("%s", space + i * 2);
for(j = 0; j <= i; j++)
printf("- ",
*(yanghui + j));
printf("\n");
}
free(space);
free(yanghui);
space =
NULL;
yanghui =
NULL;
return
0;
}
void yanghui_num(int * yanghui, int n)
{
int i;
for(i = 0; i
<= n; i++)
*(yanghui + i) = yh_one_num(n, i);
}
int yh_one_num(int n, int i)
{
int
numerator = 1, denominator = 1;
int j;
if(i ==
0)
return 1;
for(j = 0; j
< i; j++)
{
numerator *= (n - j);
denominator *= (j + 1);
}
return
numerator / denominator;
}
相关文章推荐
- C语言:利用二维数组输出杨辉三角的前10行 程序是怎样的
- C语言实现一维数组实现输出杨辉三角
- C语言实现在屏幕上输出杨辉三角
- C语言——输出杨辉三角的前n行
- 重温 谭浩强c语言编程 第六章输出杨辉三角
- 【c语言】输出杨辉三角
- c语言:二维数组输出杨辉三角!
- C语言在屏幕上输出杨辉三角
- c语言输出杨辉三角
- 用c语言输出杨辉三角前15行
- 用C语言输出杨辉三角
- [置顶] 【C语言】将大写字母换成小写字母输出
- C语言编程(练习3:字符输入和输出 )
- c++ 输出格式控制与C语言对照
- C语言输出当前日期和时间
- PAT (Basic Level) Practise (中文)1043. 输出PATest(20) C语言
- C语言字符串输入与输出函数
- 喜羊羊系列之C语言字符界面颜色输出(printf)
- 关于C语言里格式化小数输出
- 2 C语言输出函数