編程輸出形如上面的程序。ios
輸出n行的數字,第i行有2*i-1個數字,第一行的1出如今第n個位置上(行列都從1開始計數),從第2行開始i行j列的元素等於i-1行j-1列的元素與i+1行j+1列的元素之和,而後數字之間輸出空格便可。編程
#include<iostream> #include<cstring> using namespace std; #define N 20 int bsk[N][N]; int main(){ int number; cout<<"請輸入一個數字:"<<endl; cin>>number; memset(bsk,0,N*N*sizeof(int)); int i,j; bsk[1][number]=1; for(i=2;i<=number;i++) { int n=i; j=number+1-i; while(n--) { bsk[i][j]=bsk[i-1][j-1]+bsk[i-1][j+1]; j+=2; } } for(i=1;i<=number;i++) { for(j=1;j<=2*number-1;j++) { if(bsk[i][j]!=0) cout<<bsk[i][j]<<" "; else cout<<" "; if(j==2*number-1) { cout<<endl; break; } } } return 0; }