多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Kotlin 程序:创建金字塔和图案 > 原文: [https://www.programiz.com/kotlin-programming/examples/pyramid-pattern](https://www.programiz.com/kotlin-programming/examples/pyramid-pattern) #### 在此程序中,您将学习在 Kotlin 中创建金字塔,半金字塔,倒金字塔,Pascal 三角形和 Floyd 三角形唱歌控制语句。 源代码清单: + [使用`*`,数字和字符打印三角形的代码](#triangle) + [使用`*`和数字打印倒三角形的代码](#inverted-triangle) + [打印完整金字塔的代码](#pyramid) + [打印帕斯卡三角形的代码](#pascal-triangle) + [打印弗洛伊德三角形的代码](#floyd-triangle) 以下是等效的 Java 代码:[创建金字塔和图案的 Java 程序](/java-programming/examples/pyramid-pattern "Java Program to Create Pyramid and Pattern") * * * ## 使用*,数字和字符打印三角形的程序 * * * ### 示例 1:使用`*`打印半金字塔的程序 ```kt * * * * * * * * * * * * * * * ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 for (i in 1..rows) { for (j in 1..i) { print("* ") } println() } } ``` * * * ### 示例 2:使用数字打印半金字塔的程序 ```kt 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 for (i in 1..rows) { for (j in 1..i) { print("$j ") } println() } } ``` * * * ### 示例 3:使用字母打印半金字塔的程序 ```kt A B B C C C D D D D E E E E E ``` **源代码** ```kt fun main(args: Array<String>) { val last = 'E' var alphabet = 'A' for (i in 1..last - 'A' + 1) { for (j in 1..i) { print("$alphabet ") } ++alphabet println() } } ``` ## 使用*和数字打印倒置半金字塔的程序 * * * ### 示例 4:使用`*`打印倒置半金字塔 ```kt * * * * * * * * * * * * * * * ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 for (i in rows downTo 1) { for (j in 1..i) { print("* ") } println() } } ``` * * * ### 示例 5:使用数字打印倒置半金字塔 ```kt 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 for (i in rows downTo 1) { for (j in 1..i) { print("$j ") } println() } } ``` ## 使用*和数字显示金字塔和倒置金字塔的程序 * * * ### 示例 6:使用`*`打印完整金字塔的程序 ```kt * * * * * * * * * * * * * * * * * * * * * * * * * ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 var k = 0 for (i in 1..rows) { for (space in 1..rows - i) { print(" ") } while (k != 2 * i - 1) { print("* ") ++k } println() k = 0 } } ``` * * * ### 示例 7:使用数字打印金字塔的程序 ```kt 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5 ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 var k = 0 var count = 0 var count1 = 0 for (i in 1..rows) { for (space in 1..rows - i) { print(" ") ++count } while (k != 2 * i - 1) { if (count <= rows - 1) { print((i + k).toString() + " ") ++count } else { ++count1 print((i + k - 2 * count1).toString() + " ") } ++k } k = 0 count = k count1 = count println() } } ``` * * * ### 示例 8:使用`*`打印倒置完整金字塔 ```kt * * * * * * * * * * * * * * * * * * * * * * * * * ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 5 for (i in rows downTo 1) { for (space in 1..rows - i) { print(" ") } for (j in i..2 * i - 1) { print("* ") } for (j in 0..i - 1 - 1) { print("* ") } println() } } ``` * * * ### 示例 9:打印 Pascal 三角形 ```kt 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 6 var coef = 1 for (i in 0..rows - 1) { for (space in 1..rows - i - 1) { print(" ") } for (j in 0..i) { if (j == 0 || i == 0) coef = 1 else coef = coef * (i - j + 1) / j System.out.printf("%4d", coef) } println() } } ``` * * * ### 示例 10:打印弗洛伊德三角形 ```kt 1 2 3 4 5 6 7 8 9 10 ``` **源代码** ```kt fun main(args: Array<String>) { val rows = 4 var number = 1 for (i in 1..rows) { for (j in 1..i) { print("$number ") ++number } println() } } ```