PTA 7-284 倒立的杨辉三角形
分数 20
作者 iwyou
单位 郑州轻工业大学
杨辉三角描述如下图所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
请你输出一个倒立的杨辉三角形
输入格式:
输入只包含一个正整数n(0< n < 40),表示将要输出的倒立杨辉三角层数。
输出格式:
输出相应层数的倒立杨辉三角,每一层的整数之间用一个空格隔开。
输入样例:
5
输出样例:
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
#include <math.h>
int main(void){
double a[40][40];
int n, i, j;
scanf("%d", &n);
a[0][0] = 1, a[1][0] = 1, a[1][1] = 1;
for(i = 2; i < n; i++){ //i从2开始是因为0,1行已经确定了
a[i][0] = 1, a[i][i] = 1;
for(j=1; j <= i-1; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
for(i = n-1; i >= 0; i--){ //倒置打印每一行
for(j = 0; j <= i; j++){
printf("%.f", a[i][j]);
//每一行边界后面无空格
if(j != i)
printf(" ");
}
//最后一行后面无空行
if(i != 0)
printf("\n");
}
return 0;
}
解题思路:
主要是 i 从2开始,因为第一和二行已经确定,再按照杨辉三角形的规律遍历数组每行
倒置输出即可
注:输出格式
归属知识点:
循环结构