怎样用C语言写出等腰的杨辉三角?

Python015

怎样用C语言写出等腰的杨辉三角?,第1张

#include <stdio.h>

#define N 14

main()

{

int i, j, k, n=0, a[N][N] /*定义二维数组a[14][14]*/

while(n<=0||n>=13)

{ /*控制打印的行数不要太大,过大会造成显示不规范*/

printf("请输入要打印的行数:")

scanf("%d",&n)

}

printf("%d行杨辉三角如下:\n",n)

for(i=1i<=ni++)

a[i][1] = a[i][i] = 1 /*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/

for(i=3i<=ni++)

for(j=2j<=i-1j++)

a[i][j]=a[i-1][j-1]+a[i-1][j] /*除两边的数外都等于上两顶数之和*/

for(i=1i<=ni++)

{

for(k=1k<=n-ik++)

printf(" ") /*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/

for(j=1j<=ij++) /*j<=i的原因是不输出其它的数,只输出我们想要的数*/

printf("%6d",a[i][j])

printf("\n") /*当一行输出完以后换行继续下一行的输出*/

}

printf("\n")

}

#include<stdio.h>

int fun(int a[][100],int n)

main()

{

int n,i,j

int a[100][100]

scanf("%d",&n)

fun(a,n)

for(i=0i<ni++)

{

for(j=0j<=ij++)

printf("%d\t",a[i][j])

printf("\n")

}

int fun(int a[][100],int n)

{

int i,j

for(i=0i<ni++)

a[i][0]=1

for(i=0i<ni++)

for(j=0j<=ij++)

a[i][j]=1

for(i=1i<ni++)

for(j=1j<=ij++)

a[i][j]=a[i-1][j]+a[i-1][j-1]

}

#include<stdio.h>

int main()

{

int i,j,k,a[10][10]//i控制行,j控制列

for(i=0i<10i++){

a[i][0]=1a[i][i]=1

}

for(i=2i<10i++)

for(j=1j<=i-1j++)

a[i][j]=a[i-1][j]+a[i-1][j-1]//等于正上方和它前一个的和

for(i=0i<10i++){

for(j=0j<=ij++)

printf("%6d",a[i][j])

printf("\n")

}

//下面是等腰

for(i=0i<10i++){

for(k=0k<9-ik++)//k控制空格

printf(" ")

for(j=0j<=ij++)

printf("%6d ",a[i][j])

printf("\n")

}

return 0

}