方法:
一 : 先存数字1 到 每行每列的首个元素与末尾元素
二、过公式计算其他元素值,即该元素值为它“两肩”上元素值之后
三、普通输出所有元素值验证是否正确
运行结果正确
四、对代码进行优化,使其按题目要求格式输出
添加打印空格代码:
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int i , j, n,a[N][N] ;
printf("input n : ");
scanf("%d",&n);
//先存数字1 到 每行每列的首个元素与末尾元素
for(i = 0 , j = 0; i < n; i++)
{
a[i][0] = 1;
a[i][j] = 1 ;
j++ ;
}
//通过公式计算其他位置元素值
for(i = 2 ; i < n ; i++)
{
for(j = 1 ; j < i ;j++ )
{
a[i][j] = a[i-1][j-1] + a[i-1][j] ;
}
}
//输出所有元素
for(i = 0 ; i < n ; i++)
{
// 打印空格
for(j = 0 ; j < 2*(n-i) ; j++)
{
printf(" ") ;
}
// 打印数字
for(j = 0 ; j <= i ; j++)
printf("%5d",a[i][j]) ;
printf("\n") ;
}
return 0;
}