请编写递归函数,显示直角三角形(左侧向上)。
函数原型
void UpLfTrg(int height, char symbol);
说明:参数 height 为直角三角形的高,symbol 为显示字符。函数将在屏幕上显示高度和底宽为 height 由字符 symbol 组成的直角三角形(左侧向上)。若 height ≤ 0,则不输出。
裁判程序
#include <stdio.h>
void Show(int number, char symbol);
void UpLfTrg(int height, char symbol);
int main()
{
int n;
char s;
scanf("%d %c", &n, &s);
UpLfTrg(n, s);
putchar('\n');
return 0;
}
void Show(int number, char symbol)
{
...(略)...
}
/* 你提交的代码将被嵌在这里 */
提示:需要利用前面作业中的 Show 函数。
输入样例1
-3 #
输出样例1
输入样例2
5 *
输出样例2
*
**
***
****
*****
要求:不使用循环语句。
关联习题:重复显示字符(递归版)。
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码如下:
void UpLfTrg(int height, char symbol){
if(height > 0){
UpLfTrg(height-1,symbol);//一直递归直到height=0
Show(height,symbol);//从height=1时开始;
putchar('\n');
}
}
关于代码中调用的Show函数,代码如下
void Show(int number, char symbol)
{
if(number<=0)
return 0;
else
{
putchar(symbol);
Show(number-1,symbol);
}
}