#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
void print(int a);
void main(){
printf("%s\n","please input ? row yanghui:");
bool tag = true;
int num;
scanf("%d",&num); //这里可能输入不合法 你们自己改吧 用fflush(stdin)刷新缓冲区
print(num);
}
//打印函数
void print(int num){
int **yanghui = (int **)malloc(num*sizeof(int *));
for(int i=0;i<num;i++){
*(yanghui+i) = (int *)calloc(i+1,sizeof(int));
}
for(int j=0;j<num;j++){
for(int k=0;k<j+1;k++){
if(j-1 >= 0 && k-1 >=0 && k < j){ //这里对边界进行判定
yanghui[j][k] = yanghui[j-1][k-1]+yanghui[j-1][k];
}else{
yanghui[j][k] = 1;
}
}
}
for(int x=0;x<num;x++){
for(int y=0;y<x+1;y++){
printf("%d ",yanghui[x][y]);
}
printf("\n");
}
free(yanghui);
}
转载请注明原文地址: https://ju.6miu.com/read-160.html