#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
void test(int(*arr)[10], int r, int c)
{
int i = 0;
int j = 0;
for (i = 0; i < r; i++)
{
for (j = 0; j <= i; j++)//切记是i,不是10
{
if (j == 0 || j == i)//第一行和最后一行
{
*(*(arr + i) + j) = 1;//等于1
}//此处也可以写成arr[i][j]
else
{//arr[i][j]
*(*(arr + i) + j) = arr[i - 1][j - 1] + arr[i - 1][j];//公式前两个数相加
}
printf("%4d", *(*(arr + i) + j));//留空位
}
printf("\n");
}
}
int main()
{
int arr[10][10];
test(arr, 10, 10);
}
下面是不用指针的杨辉三角
#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
int main()
{
int i, j;
int arr[10][10];
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)//切记是i,不是10
{
if (j == 0 || j == i)//第一行和最后一行
{
arr[i][j] = 1;//等于1
}
else
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];//公式前两个数相加
}
printf("%4d", arr[i][j]);//留空位
}
printf("\n");
}
}