/*
杨辉三角及其Fibonacci数列练习
*/
#include<stdio.h>
#include<string.h>
#include<windows.h>
#define N 20
void CaculateYH(int a[N][N], int n);
void PrintYH(int a[N][N], int n);
void CaculateFib(int a[N][N], int arr[], int n);
int main()
{
int a[N][N]={0};
int n=0;
int arr[N]={0};
printf("请输入n:>\n");
scanf("%d", &n);
// CaculateYH(a, n);
// PrintYH(a, n);
CaculateFib(a,arr,n);
for(int i =0; i<n; i++)
printf("%d ",arr[i]);
system("pause");
return 0;
}
void CaculateYH(int a[N][N],int n)
{
int i, j;
for (i=0; i<n; i++)
{
for (j=0; j<=i; j++)
{
if(j==0 || i==j)
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
}
void PrintYH(int a[N][N], int n)
{
int i, j;
for (i=0; i<n; i++)
{
for (j=0; j<=i; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
void CaculateFib(int a[N][N], int arr[], int n)
{
CaculateYH(a, n);
int i, j, k, sum = 0;
for(int k=n; k>=0; k--)
{ sum=0;
for(i=k, j=0; i>=j; i--, j++)
{
sum = sum + a[i][j];
}
arr[k]=sum;
}
}
C语言杨辉三角及Fibonacci数列练习
最新推荐文章于 2024-08-30 14:58:08 发布