level 9
lightyeards
楼主
#include<stdio.h>
int a[100][100];
void szfz(int x);
void szsc(int x);
int x,y,z=0;
void srxy();
int pdxy(int x,int y);
void main()
{
printf("xy分别代表行和列输入xy时请用空格隔开\n");
while(z!=1)
{
srxy();
z=pdxy(x,y);
}
x++;
szfz(x);
szsc(x);
getchar();
getchar();
getchar();
}
void szfz(int x)
{
int ax=2,ay=1;
for(int i=0;i<x;i++)
{
a[i][0]=1;
a[i][i]=a[i][0]; //采用对称赋值,此循环应该排在第一位。
}
for(;ax!=x-1;)
{
for(;;)
{
a[ax][ay]=a[ax-1][ay-1]+a[ax-1][ay]; //在杨辉三角中上面两数之和等于下面一个数
if(ax==ay+1) break;
++ay;
}
++ax;
ay=1;
}
}
void szsc(int x)
{
int i=x,i1=x;
for(int ix=0;ix!=x-1;ix++)
{
for(int iy=0;iy!=x-1;iy++)
{
if(iy>ix) break;
for(i;i!=0;i--)
{
printf(" ");
}
printf(" %d",a[ix][iy]);
}
printf("\n");
--i1;
i=i1;
}
}
int pdxy(int x,int y)
{
if(x<y)
{
printf("您输入的xy的值有误,在正常的情况下x>y.\n请重新输入xy.");
return 0;
}
else return 1;
}
void srxy()
{
printf("请输入x.y:");
scanf("%d%d",&x,&y);
}
2014年02月04日 11点02分
1
int a[100][100];
void szfz(int x);
void szsc(int x);
int x,y,z=0;
void srxy();
int pdxy(int x,int y);
void main()
{
printf("xy分别代表行和列输入xy时请用空格隔开\n");
while(z!=1)
{
srxy();
z=pdxy(x,y);
}
x++;
szfz(x);
szsc(x);
getchar();
getchar();
getchar();
}
void szfz(int x)
{
int ax=2,ay=1;
for(int i=0;i<x;i++)
{
a[i][0]=1;
a[i][i]=a[i][0]; //采用对称赋值,此循环应该排在第一位。
}
for(;ax!=x-1;)
{
for(;;)
{
a[ax][ay]=a[ax-1][ay-1]+a[ax-1][ay]; //在杨辉三角中上面两数之和等于下面一个数
if(ax==ay+1) break;
++ay;
}
++ax;
ay=1;
}
}
void szsc(int x)
{
int i=x,i1=x;
for(int ix=0;ix!=x-1;ix++)
{
for(int iy=0;iy!=x-1;iy++)
{
if(iy>ix) break;
for(i;i!=0;i--)
{
printf(" ");
}
printf(" %d",a[ix][iy]);
}
printf("\n");
--i1;
i=i1;
}
}
int pdxy(int x,int y)
{
if(x<y)
{
printf("您输入的xy的值有误,在正常的情况下x>y.\n请重新输入xy.");
return 0;
}
else return 1;
}
void srxy()
{
printf("请输入x.y:");
scanf("%d%d",&x,&y);
}