读书人

求解杨辉三角形~该如何解决

发布时间: 2012-02-14 19:19:19 作者: rapoo

求解杨辉三角形~~~~
打印出一下的杨辉三角形(要求打印出10行以上)。

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1


[解决办法]
#include <iostream>
#include <iomanip>
using namespace std;

const int N = 12;

void main()
{
int n[N+1];
n[0] = 0;
for (int i = 1; i <= N; ++i)
{
n[i] = 1;
for (int j = i-1; j > = 1; --j)
n[j] += n[j-1];
for (int m = N; m > = i; --m)
cout < < " ";
for (int j = 1; j <= i; ++j)
cout < < setw(3) < <n[j] < < " ";
cout < <endl;
}
}
[解决办法]
#include <stdio.h>

#define MAX_MY 10

int a[MAX_MY][MAX_MY] = {0};

void mytrangle(void *p)
{
for (int i = 0; i <MAX_MY; i++)
a[i][i] = 1;

for (i = 0; i <MAX_MY; i++)
a[i][0] = 1;

for (i = 2; i <MAX_MY; i++)
{
for (int j = 1; j < i; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}

int main()
{
mytrangle(a);

for (int i = 0; i < MAX_MY; i++)
{
for(int j = 0; j < i + 1; j++)
printf( "%4d ", a[i][j]);
printf( "\n ");
}

return 0;
}

读书人网 >C语言

热点推荐