1、达到下面样子即可
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...
2、个人思路:
1)首先解决外型问题,用到二维数组以及两个嵌套的for循环 . 2)把左右两个三角形边的所有数字全变成数字1,用到两个if语句 . 3)由1)和 2)可得出杨辉三角数学规律(在1 2 1这行开始,每个数等于上方两数之和)。
具体实现过程如下:
#include<stdio.h>
int main()
{
int arr[10][10] = { 0 };
int i = 0;//列
int j=0;//行
for (j = 0; j <= 9; j++)
{
for (i = 0; i <= j; i++)
{
arr[j][i] = i;
if (i == 0)
{
arr[j][i] = 1;
}
if (i == j)
{
arr[j][i] = 1;
}
if (i != j && i != 0)
{
arr[j][i] = arr[j - 1][i - 1] + arr[j - 1][i];
}
printf("%d\t", arr[j][i]);
}
printf("\n");
}return 0;
}
3、个人总结:
在解决问题时,首先要分出步骤先后,不一定全部列出来,列出个大概,完成每个步骤的要求时运行一下看是否满足,满足后在根据前几个条件列出后面的条件。正如解决杨辉三角这样的问题时,当时条件 3)本人并没有想到,而是先把条件 1)与 条件 2)分别列出后发现正好可以运用杨辉三角前两行这一条件而使用每个数等于上方两数之和这一数学性质,只需要前两行就可以实现此问题,真所谓是牵一发而动全身。
通过这些练习,自身的不足也暴露出来,在编程的道路中还需不断总结与探索、不断学习和弥补自己的不足。