用C语言打印出杨辉三角
2016-04-23 19:31
507 查看
用C语言打印出杨辉三角
杨辉三角形是形如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。
代码如下:
#include <stdio.h>
int main()
{
int n;
int i;
int j;
printf("please enter 行数:\n");
scanf("%d",&n);
int a[100][100];
a[0][0] = 1;
a[1][0] = 1;
a[1][1] = 1;
for(i = 2; i < n; i++)
{
for(j = 0; j < n; j++)
{
if((j == 0) | (j == (n -1)))
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i -1][j - 1] + a[i - 1][j];
}
}
}
for(i = 0; i < n; i++)
{
for(j = 0;j <= i; j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}
杨辉三角形是形如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。
代码如下:
#include <stdio.h>
int main()
{
int n;
int i;
int j;
printf("please enter 行数:\n");
scanf("%d",&n);
int a[100][100];
a[0][0] = 1;
a[1][0] = 1;
a[1][1] = 1;
for(i = 2; i < n; i++)
{
for(j = 0; j < n; j++)
{
if((j == 0) | (j == (n -1)))
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i -1][j - 1] + a[i - 1][j];
}
}
}
for(i = 0; i < n; i++)
{
for(j = 0;j <= i; j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}
相关文章推荐
- C语言小游戏设计报告
- C++中的explicit关键字(转)
- 作业:C++作业4
- 用C语言做一个通讯录
- base64加密解密c++的简单实现
- 编程学习笔记之c++相关::vector学习心得
- C语言中,为什么字符串可以赋值给字符指针变量
- 字符串反转引发的char str[]="abc"和char *str="abc"思考
- 有符号十六进制转十进制 c++
- C++虚继承解说
- c++第4次作业
- 奇特的可变参数列表实现print函数
- 基于GDAL的栅格数据/遥感影像IO (非分块)
- C语言编程常用数值计算的高性能实现
- 1 C语言 gcc 介绍 C 语言编译 main接受参数
- c语言auto、static、extern、register、volatile存储的理解
- c++添加定时器
- c++如何生成随机数
- JNI之C语言多级指针剖析
- 照片EXIF信息库EXIV2(c++)