输入一个整数,求杨辉三角。这样的编程,要求这里补充代码,该补充什么呀?
只需要初始化两行,因为下面的代码是从第三行开始利用公式计算以下的每一行,所以只需要初始化两行
//补充代码,初始化数组部分元素
{1}, // 第一行,只有一个数1
{1,1}, // 第二行,两个数1
#include <stdio.h>
int main()
{
int a[33][33]={
//补充代码,初始化数组部分元素
{1}, // 第一行,只有一个数1
{1,1}, // 第二行,两个数1
};
int i, j, n;
for (i = 2; i < 33; i++) {
a[i][0] = a[i][i] = 1;
for (j = 1; j < i; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
if (j > 0) printf(" ");
printf("%d", a[i][j]);
}
printf("\n");
}
return 0;
}
初始化前两行的元素。
int a[33][33]={
//补充代码,初始化数组部分元素
{1}, // 第一行,只有一个数1
{1,1}, // 第二行,两个数1
};
不知道你这个问题是否已经解决, 如果还没有解决的话:根本原因是为了提高CPU的寻址效率。