原题链接:倒杨辉三角形
解题思路:
先吧杨辉三角形装入集合
开始和结尾都是1,yh[i][j] = yh[i-1][j-1] + yh[i-1][j]
难的是遍历格式。
注意事项:
参考代码:
import java.util.Scanner;
/**
* @BelongsProject Demo
* @BelongsPackage 二维数组
* @Author lgb
* @CreateTime 2022-06-13 09:48
* @Description TODO
* @Version 1.0
* 思路:
* 先吧杨辉三角形装入集合
* 开始和结尾都是1,yh[i][j] = yh[i-1][j-1] + yh[i-1][j]
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//三角形集合
int[][] yh;
while (scanner.hasNext()) {
int n = scanner.nextInt();
//初始化
yh = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
//第一个和结尾等于1
if (j == 0 || j == i) {
yh[i][j] = 1;
} else {
yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
}
}
}
//每行开始的空格
String str = "";
//遍历
for (int i = n - 1; i >= 0; i--) {
System.out.print(str);
for (int j = 0; j <= i; j++) {
if (j == 0) {
System.out.printf("%3d", yh[i][j]);
} else {
//后面每个数字占6个空格
System.out.printf("%6d", yh[i][j]);
}
}
str += " ";
System.out.println();
}
System.out.println();
}
scanner.close();
}
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复