原创 闫小林 C语言入门到精通 2020-12-04
收录于话题
#小林C语言实战
103个
“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”
——包租婆
这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C语言题目!!
作者
闫小林
白天搬砖,晚上做梦。我有故事,你有酒么?
例26:C语言实现输出杨辉三角。
解题思路:对于这道题,小林拆分为3部分进行讲解
第一部分,对有特点的数(每行开头和结束的数都是1)进行赋值:
for(i=0;i<10;i++)//for循环
{
array[i][i]=1;//给二维数组的每一行的最后一个赋值为1
array[i][0]=1;//第二维数组的每一行的开头赋值为1
}
第二部分,给中间的数进行赋值:
for(i=2;i<10;i++)//外层循环限制行
{
for(j=1;j<=i-1;j++)//内层循环限制列
{
array[i][j]=array[i-1][j]+array[i-1][j-1];//给中间的数赋值
}
}
第三部分,就是把上面赋值后的二维数组,遍历输出即可;
for(i=0;i<10;i++)//外层循环限制行
{
for(j=0;j<=i;j++)//内层循环限制列
{
printf("%6d",array[i][j]);//输出二维数组,宽度为6
}
printf("\n");//换行
}
源代码演示:
#include<stdio.h>//头文件
int main()//主函数入口
{
int i,j;//定义整型变量
int array[10][10];//定义二维数组
for(i=0;i<10;i++)//for循环
{
array[i][i]=1;//给二维数组的每一行的最后一个赋值为1
array[i][0]=1;//第二维数组的每一行的开头赋值为1
}
for(i=2;i<10;i++)//外层循环限制行
{
for(j=1;j<=i-1;j++)//内层循环限制列
{
array[i][j]=array[i-1][j]+array[i-1][j-1];//给中间的数赋值
}
}
for(i=0;i<10;i++)//外层循环限制行
{
for(j=0;j<=i;j++)//内层循环限制列
{
printf("%6d",array[i][j]);//输出二维数组,宽度为6
}
printf("\n");//换行
}
return 0;//函数返回值为0
}
编译运行结果如下: