从键盘读入一个整数 nn,输出如下图形【参见输出样例】 输入描述 输入一行,一个正整数 nn 输出描述 由 *∗ 组成的直角三角形 输入输出样例 输入样例 1 4 输出样例 1 * ** *** ****
时间: 2025-05-16 15:01:46 浏览: 25
### 实现直角三角形图案的生成
以下是基于用户需求编写的程序,该程序能够接收用户输入的一个整数作为高度参数,并打印出相应大小的直角三角形。
#### Python 实现
```python
def print_right_triangle(height):
for i in range(1, height + 1): # 控制行数
for j in range(i): # 控制每行的星号数量
print('*', end='') # 打印星号并保持在同一行
print() # 换行
# 用户输入部分
if __name__ == "__main__":
try:
user_input = int(input("请输入直角三角形的高度: "))
if user_input > 0:
print_right_triangle(user_input)
else:
print("请输入一个大于零的正整数。")
except ValueError:
print("输入错误,请输入一个有效的整数。")
```
上述代码通过嵌套循环实现了直角三角形的绘制功能[^5]。外层循环控制行数,而内层循环则负责每一行中的星号数目。每次完成一行后调用 `print()` 函数换行。
#### Java 实现
如果偏好使用Java语言,则可以采用如下方法:
```java
import java.util.Scanner;
public class RightTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入直角三角形的高度: ");
int height;
while (true){
if(scanner.hasNextInt()){
height = scanner.nextInt();
if(height>0){
break;
}
else{
System.out.println("请输入一个大于零的正整数:");
}
}
else{
System.out.println("输入错误,请重新输入一个有效整数:");
scanner.next(); // 清除非法输入
}
}
for(int i=1;i<=height;i++){
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
```
此段Java代码同样利用双重循环来构建所需图形[^6]。外部循环决定总共有多少行要被打印出来;内部循环依据当前所在的行数确定应该输出几个星号字符。
### 数学原理说明
对于给定的高度 \( n \),第 \( k \)(\(k\)从1到\(n\)) 行应当包含恰好 \( k \) 个星号(*)。这遵循简单的算术序列规律,在计算机科学领域经常用于基础算法教学以及初学者练习迭代结构掌握情况的例子之一[^7]。
阅读全文
相关推荐
















