c语言输入n(3<=n<=10),输出n行的杨辉三角形

2025-03-01 02:51:28
推荐回答(3个)
回答1:

#include

int main()

{int a[11]={0};

 int i,j,n;

 scanf("%d",&n);

 a[0]=1;

 for(i=0;i<=n;i++)

 {for(j=i;j>0;j--)a[j]+=a[j-1];

  printf("%*s",2*(n-i),"");

  for(j=0;j<=i;j++)printf("%4d",a[j]);

  printf("\n");

  }

 return 0;

}

回答2:

参考代码:

#include 
#define MAX 100
#define X(a) (a++)%MAX
int main()
{
int queue[MAX];
int r=0,l=0,n,m,i,j,h;
printf("输入杨辉三角的行数:");
scanf("%d",&h);
queue[X(r)]=0;
queue[X(r)]=1;
m=queue[X(l)];
for(i=0;i {
queue[X(r)]=0;
for(j=0;j {
n=m;
m=queue[X(l)];
queue[X(r)]=m+n;
if(n!=0)
printf("%d ",n);
}
printf("\n");
}

return 0;
}

回答3:

#include "stdio.h"
int main(void){
    int a[11]={0},n,i,j;
    while(1){
        printf("How many lines of output?\n");
        if(scanf("%d",&n) && n>2 && n<11)
            break;
        printf("Error, redo: ");
    }
    for(a[1]=i=1;i<=n;i++){
        for(j=i;j>=1;j--)
            printf("%d ",a[j]+=a[j-1]);
        printf("\n");
    }
    return 0;
}