要求打印的行數由鍵盤輸入?
#include<stdio.h>
#include"string.h"
int a[10000]; //容器,由n*(n+1)/2<=10000可知,n<=141
int b=3,CR,i; //b為當前行數,CR為要求顯示的行數,i為循環數
int YHSJ(int CR)
{
a[1]=a[2]=1; //前兩行數值少且全為1,故直接輸出
printf("%d\n",a[1]);
printf("%d %d\n",a[1],a[2]);
while(b<=CR) //從第三行開始判斷
{
for(i=b;i>=2;i--)//從倒數第一個數開始加
{
a[i]=a[i]+a[i-1]; //楊輝三角的規律,沒有值的數組默認為0
}
for(i=1;i<=b;i++) //顯示循環
{
printf("%d ",a[i]);
}
printf("\n"); //顯示完一行換行
b++; //下一行
}
return 0;
}
void main()
{
printf("請輸入要顯示的行數(3~141):");
scanf("%d",&CR);
YHSJ(CR);
}