#include <stdioh>
#define ARR_LEN 20 /数组长度/
/二维数组存储杨辉三角/
int createYangHuiTriangle (int yht[ARR_LEN][ARR_LEN], int n) {
int i,j;
for (i=0; i<n; i++)
for (j=n-1-i; j<=n-1+i; j++)
if (j==n-1-i || j==n-1+i)
yht[i][j]=1;
else
yht[i][j]=yht[i-1][j-1]+yht[i-1][j+1];
return 1;
}
/打印杨辉三角/
int printYangHuiTriangle (int yht[ARR_LEN][ARR_LEN], int n) {
int i,j;
for (i=0; i<n; i++) {
for (j=0; j<2n-1; j++)
if (yht[i][j]!=0)
printf ("%4d",yht[i][j]);
else
printf ("%4c",32); /输出空格以控制格式/
putchar ('\n');
}
return 1;
}
int main(void) {
int yht[ARR_LEN][ARR_LEN]={0};
int n=8;
createYangHuiTriangle (yht,n); /创建n行杨辉三角/
printYangHuiTriangle (yht,n); /打印n行杨辉三角/
putchar ('\n');
getch(); /屏幕暂留/
return 0;
}
运行结果
简单程序不用画流程图的
#include <stdioh> /杨辉三角/
void main()
{ int i,j,k;
int a[10][10];
k=10;
for(i=0,j=0;i<k;i++)
a[i][j]=1; /第一列为1/
for(i=0,j=0;i<k,j<k;i++,j++)
if(i==j) a[i][j]=1; /对角线为1/
for(i=1;i<k;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<k;i++)
{ for(j=0;j<k;j++)
if(i<j) printf("%c",' ');
else
printf("%d ",a[i][j]);
printf("\n");
}
}
#include<stdioh> // 双// 那有错误 在下面
void main()
{
int a = 0,b = 0,n = 0;
int s[20][20];
s[0][0]=1;
printf("请输入杨辉三角的行数:");
scanf("%d",&n);
for(a=0;a<n;a++)
{
for(b=0;b<=(n-a);b++)
printf(" ");
for(b=0;b<=a;b++)
{
if(a==0 && b==0)//
{ //
printf("%d",s[a][b]);
continue;
} //
else if(b==0)
s[a][b]=s[a-1][b];
else if(b==a)
s[a][b]=s[a-1][b-1];
else
s[a][b]=s[a-1][b-1]+s[a-1][b];
printf(" %d ",s[a][b]);
}
printf("\n");
}
printf("\n");
}
以上就是关于用c语言编写杨辉三角,打印后是8行全部的内容,包括:用c语言编写杨辉三角,打印后是8行、C语言编杨辉三角程序的流程图怎么画啊、c语言打印杨辉三角等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)