函数原型
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);
}
}
}
2332

被折叠的 条评论
为什么被折叠?



