用C语言打印杨辉三角形:
1.杨辉三角形规律:
1.每行数字左右对称,由1开始逐渐变大,然后变小,回到1。
2.第n行的数字个数等于n,第n行的第一个和最后一个数字都是1。
3.对于第i行,除首尾两个1之外,任意位置的数等于它肩上的两个数之和。即第i行第j个数等于第i-1行第j-1个数与第i-1行第j个数之和。
表达式可表示为:a[i][j] = a[i-1][j-1]+a[i-1][j]
2.打印杨辉三角形:
在C语言中,实现杨辉三角形可以用嵌套循环来完成
#include <stdio.h>
int main(int argc, char *argv[])
{
int n;//定义整形数据n,代表要打印的杨辉三角形行数
printf("请输入要打印的杨辉三角形行数:");
scanf("%d",&n);
int a[32][32] = {0};//初始化二维数组,这里限制了最大打印行数为32
int i,j;
for(i = 0; i <n; i++){//外层for循环,用i对0到n-1进行遍历
a[i][0] = 1;//先将每行第一个数字赋值为1
for(j = 1; j < n-i; j++){//打印空格,空格为倒直角三角形,总共打印n-1行且每行空格依次递减
printf(" ");//为使打印效果更美观,每次可用两个空格
}
for(j = 0; j <= i; j++){//内层for循环打印数字
if(i == j){
a[i][j] = 1;//将每行末尾数字赋值为0
}else{
a[i][j] = a[i-1][j-1]+a[i-1][j];//为中间数字赋值
}
printf("%-3d ",a[i][j]);//%-3d 设置左对齐,每个数字占用三个字符
}
printf("\n");//每行打印结束后记得换行
}
return 0;
}