请问如何用C语言的循环结构编制一个杨辉三角

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:00:17
菜鸟进行中!!请大侠们指点下!!用A到J打印出来!!

此杨辉三角手动控制规模,就是效率低了点

#include<stdio.h>
int main()
{
int c(int x,int y);/*要声明函数*/
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n); /*控制输入正确的值以保证屏幕显示的图形正确*/
for(i=0;i<=n;i++) /*控制输出N行*/
{
for(j=0;j<24-2*i;j++) printf(" "); /*控制输出第i行前面的空格*/
for(j=1;j<i+2;j++) printf("%4d",c(i,j)); /*输出第i行的第j个值*/
printf("\n");
}
}

int c(int x,int y) /*求杨辉三角形中第x行第y列的值*/
{
int z;
if((y==1)||(y==x+1)) return 1; /*若为x行的第1或第x+1列,则输出1*/
z=c(x-1,y-1)+c(x-1,y); /*否则,其值为前一行中第y-1列与第y列值之和*/
return z;
}

#include <stdio.h>
#include <conio.h>
#define ARRY 13
void sp(int i);
int main(void)
{
int a[ARRY][ARRY],i,j;
for(i=0;i<=ARRY-1;i++)
for(j=0;j<=ARRY-1;j++)
{
a[i][j]=0;
if(j==0 || i==j)
a[i][j]=1;
e