c语言输出一个n行的直角三角形 (使用函数形式实现)解题思路:先把打印一行(1个)星号的功能抽象出来,由函数PrintStar 然后分别编写main()函数和PrintStar()函数.
时间: 2025-01-19 13:06:12 浏览: 69
在C语言中,你可以通过递归的方式来实现一个n行的直角三角形的打印。首先,我们需要创建一个名为`PrintStar`的函数,它接受一个整数参数`n`,表示每一行有多少个星号。对于每行,我们都会打印前n个星号,如果`n > 0`,我们会递归地调用`PrintStar(n - 1)`来打印下一行。
下面是一个简单的C程序示例:
```c
#include <stdio.h>
// 定义 PrintStar 函数,用于打印星号
void PrintStar(int n) {
if (n >= 1) { // 递归终止条件
printf("*"); // 打印当前星号
if (n != 1) { // 如果不是第一行,打印空格
printf("%*s", n - 1, ""); // 空格的数量等于星号的数量减一
}
printf("\n"); // 每行结束换行
PrintStar(n - 1); // 递归调用自身,打印下一行
}
}
int main() {
int rows;
printf("请输入你要打印的直角三角形的行数:");
scanf("%d", &rows);
// 调用 PrintStar 函数,传入指定行数
PrintStar(rows);
return 0;
}
```
在这个程序里,用户需要输入想要打印的直角三角形的行数,然后程序会根据这个数调用`PrintStar`函数生成相应的图形。注意,此代码假设输入的是正整数。
阅读全文
相关推荐




















