1.题解:首先把杨辉三角的数字全部计算出来存入数组,然后把数组中的数字按规律输出,注意不要多加空格,容易PE。当不知道空格是否多了,可以把空格改成其他符号观察。
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<string.h>
using namespace std;
int yanghui(int a[100][100], int n)
{
int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < i; j++)
{
if (j == 0)
a[i][j] = 1;
else if (i > 0 && j > 0)
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
for (i = 0; i < n; i++)
{
for (j = 0; j < i; j++)
{
if (i == 1 && j == 0)
cout << a[i][j];
else if (j != 0 && a[i][j]==1)
cout << a[i][j];
else cout << a[i][j] << " ";
}
if (i == j && j!=(n-1) && i != 0)
cout <<'\n';
if (i == j && j==(n-1) && i != 0)
cout << '\n' << '\n';
}
}
}
int main()
{
int n, i, num;
int r[100][100];
while (scanf ("%d", &n)!=EOF)
{
n = n+1;
yanghui(r, n);
}
return 0;
}