c语言以直角三角形形式打出杨辉三角前十行

如题所述

/*c语言以直角三角形形式打出杨辉三角前十行,.....by Mr.Kong*/
#include <stdio.h> 
int i,j,a[11][11]={0};/*定义全局变量*/
void main() 
{
void YHTriangle(int n);/*声明函数*/ 
void PrintYHTriangle(int n);/*声明函数*/ 
int n=0;   
while(n<1 || n>11)   /*不超过11行*/ 

printf("请输入杨辉三角形的行数:");     
scanf("%d",&n);   
}
  YHTriangle(n);/*引用函数*/ 
  PrintYHTriangle(n);/*引用函数*/
}
void YHTriangle(int n)/*定义杨辉三角函数*/
{
   
  for(i=0;i<n;i++)     
   a[i][0]=1;                            
   for(i=1;i<n;i++)     
   for(j=1;j<=i;j++)       
    a[i][j]=a[i-1][j-1]+a[i-1][j];    

}
void PrintYHTriangle(int n)/*定义杨辉三角的输出函数*/
{
YHTriangle(n);
for(i=0;i<n;i++)                    
    { 
     for(j=0;j<=i;j++)       
     printf("%5d",a[i][j]);     
     printf("\n");   
    } 
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-12
#include "stdio.h"
#define N 10
int main()
{
int a[N][N],i,j;
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0)a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%2d  ",a[i][j]);
      }
      printf("\n");
}
return 0;
}

本回答被网友采纳
相似回答