函数原型
void ShowHollow(int number, char symbol, int hollow);
说明:参数 number
为重复次数,symbol
为显示字符,hollow
为空心标记。若 hollow
为 0(假),函数将在屏幕上重复显示 number
个 symbol
字符。若 hollow
为 1(真),则输出的 number
个字符中,只有首字符和末字符为 symbol
字符,中间的字符均为空格(即空心)。若 number
小于等于 0,则不输出。
要求:不要使用循环语句。
提示:可增加自用的内部函数。
裁判程序:
#include <stdio.h>
void ShowHollow(int number, char symbol, int hollow);
int main()
{
int n, h;
char s;
scanf("%d %c %d", &n, &s, &h);
ShowHollow(n, s, h);
putchar('\n');
return 0;
}
/* 你提交的代码将被嵌在这里 */
输入样例1
-3 @ 0
输出样例1
输入样例2
1 @ 1
@@
5 @ 1
@ @
8 @ 0
@@@@@@@@
void ShowHollow(int number, char symbol, int hollow)
{
int k=number;
if(number>0&&hollow==0)
{
if(number>=1)//number 和 1分别是上下边界
{
printf("%c",symbol);//目标动作
ShowHollow(number-1,symbol,hollow);//递归number-1关系
}
}
else if(number>0&&hollow==1)
{
if(number==1)printf("%c",symbol);//长度为1输出一个字符
else if(number>=2)
{
printf("%c",symbol);
ShowHollow(number-2,' ',0);//中间空格属于连续情况归到第一种
printf("%c",symbol);
}
}
}