在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i;
int j;
int n = 0;
int a[20][20] = { 1 };
printf("请输入杨辉三角的行数 ");
scanf("%d",&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];
}
}
for (i = 0; i < n; i++) /*输出杨辉三角*/
{
for (j = 0; j <= i; j++)
printf("%5d", a[i][j]);
printf("\n");
}
system("pause");
return 0;
}
方法二:使用一维数组
#include<stdio.h>
#include<ctype.h>
void printArray(int * src, int n)
{
int i;
for (i = 0; i < n; i++)
{
printf("%d ", src[i]);
}
putchar('\n');
}
int yanghui(int n)
{
int arr[20] = {1};
int i, j;
printf("1\n");
for (i = 1; i < n; i++)
{
for (j = i; j > 0; j--)
{
arr[j] = arr[j] + arr[j - 1];
}
printArray(arr,i+1);
}
}
int main()
{
yanghui(5);
system("pause");
return 0;
}