用C语言函数递归写一个输出三角形图形的程序
时间: 2024-04-21 14:22:27 浏览: 117
当然,我可以帮你编写一个使用递归函数来输出三角形图形的 C 语言程序。以下是一个示例程序:
```c
#include <stdio.h>
void printTriangle(int rows, int currentRow, int stars) {
if (currentRow > rows) {
return;
}
if (stars > 0) {
printf("* ");
printTriangle(rows, currentRow, stars - 1);
} else {
printf("\n");
printTriangle(rows, currentRow + 1, currentRow + 1);
}
}
int main() {
int rows;
printf("请输入行数:");
scanf("%d", &rows);
printTriangle(rows, 1, 1);
return 0;
}
```
这个程序定义了一个递归函数 `printTriangle`,它接受三个参数:`rows` 表示总行数,`currentRow` 表示当前行数,`stars` 表示当前行应该打印的星号数量。
递归函数的基本思路是:如果当前行的星号数量大于 0,则打印一个星号并调用自身递归地减少 `stars` 的值;否则,打印一个换行符,并调用自身递归地打印下一行。
在 `main` 函数中,程序会要求你输入一个整数作为行数,然后调用 `printTriangle` 函数来输出相应行数的三角形图形。
希望这个示例能够满足你的需求!如果你还有其他问题,请随时提问。
阅读全文