我实在不知道此代码那里出问题了问题了,我感觉我的逻辑没有问题啊,但我实在想不明白
#include <stdio.h>
#define LINE_MAXIMUM 12 //行数再多三角变形了
int main()
{
int i = 0, j = 0, k = 0;
int array[LINE_MAXIMUM][LINE_MAXIMUM] = {0};
/* 填充二维数组 */
for(i = 0; i < LINE_MAXIMUM; i++) //行数
{
for(j = 0; j <= i; j++) //每行的列数(第n行的数字有n项)
{
if(j == 0 || j == i) //每行第一列和最后一列为1
array[i][j] = 1;
else //每个数等于它上方两数之和
array[i][j] = array[i-1][j-1] + array[i-1][j];
}
}
/* 打印杨辉三角(等腰) */
for(i = 0; i < LINE_MAXIMUM; i++)
{
//在数字前打印空格,最后一行空格数为0
for(k = 1; k < LINE_MAXIMUM - i; k++) printf(" "); //去掉此行为直角三角形
for(j = 0; j <= i; j++)
printf("%3d ", array[i][j]);
printf("\n");
}
return 0;
}
你数组就没赋上值,打印的都是随机性