用C语言函数递归写一个三角形图形程序
时间: 2023-10-19 17:05:26 浏览: 195
当然可以!下面是一个使用递归函数来打印三角形图案的C语言程序示例:
```c
#include <stdio.h>
void printTriangle(int n)
{
if (n > 0)
{
printTriangle(n - 1); // 递归调用自身,打印上一行的图案
for (int i = 0; i < n; i++)
{
printf("* ");
}
printf("\n");
}
}
int main()
{
int rows;
printf("请输入三角形的行数:");
scanf("%d", &rows);
printTriangle(rows);
return 0;
}
```
该程序中的 `printTriangle` 函数使用递归来打印三角形图案。首先,它检查传入的行数是否大于0,如果是,则递归调用自身来打印前面的图案。然后,在当前行中使用一个循环来打印一系列星号(`*`),表示当前行的图案。最后,打印一个换行符(`\n`)来移动到下一行。
在 `main` 函数中,我们接收用户输入的行数,并将其传递给 `printTriangle` 函数来打印三角形图案。
希望这个示例能帮助到你!如果有任何疑问,请随时问我。
相关问题
用C语言函数递归写一个输出三角形图形的程序
当然,我可以帮你编写一个使用递归函数来输出三角形图形的 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` 函数来输出相应行数的三角形图形。
希望这个示例能够满足你的需求!如果你还有其他问题,请随时提问。
C语言用一个递归函数写一个输出三角形图形的程序
当然可以!下面是一个使用递归函数来输出三角形图案的C语言程序示例:
```c
#include <stdio.h>
void printStars(int n)
{
if (n > 0)
{
printStars(n - 1); // 递归调用自身,打印前面的图案
for (int i = 0; i < n; i++)
{
printf("*");
}
printf("\n");
}
}
void printTriangle(int n)
{
if (n > 0)
{
printTriangle(n - 1); // 递归调用自身,打印上一行的图案
printStars(n); // 调用另一个递归函数来打印当前行的图案
}
}
int main()
{
int rows;
printf("请输入三角形的行数:");
scanf("%d", &rows);
printTriangle(rows);
return 0;
}
```
在这个程序中,我们定义了两个递归函数 `printStars` 和 `printTriangle`。
`printStars` 函数用于打印一行由星号组成的图案。它接收一个参数 `n`,表示需要打印的星号数量。首先,它检查 `n` 是否大于0,如果是,则递归调用自身来打印前面的图案。然后,使用一个循环来打印 `n` 个星号。最后,打印一个换行符。
`printTriangle` 函数用于输出三角形图案。它也接收一个参数 `n`,表示三角形的行数。首先,它检查 `n` 是否大于0,如果是,则递归调用自身来打印上一行的图案。然后,调用 `printStars` 函数来打印当前行的图案。
在 `main` 函数中,我们接收用户输入的行数,并将其传递给 `printTriangle` 函数来输出三角形图案。
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)