在C中递归打印两个空心镜面三角形

时间:2019-03-14 00:57:27

标签: c

#include <stdlib.h>
#include <stdio.h>
int main()
{
 int i,j,n;
 char ch;

printf("Enter number of rows: ");
scanf("%d%c",&n,&ch);
printf("Enter the symbol: ");
ch=getchar();

for(i=1;i<=n;i++)
{

    for(j=1;j<=n-i;j++)
    {
      printf(" ");
    }

    if(i==1 || i==n)
        for(j=1;j<=i;j++)
        {
            printf("%c",ch);
        }
    else
    {
        for(j=1;j<=i;j++)
        {  
            if(j==1 || j==i)
                printf("%c",ch);
            else
                printf(" ");
        }
    }
    printf("\n");               
}             

return 0;
}

此代码基本上使用For循环打印x的三角形。如何将此代码转换为实现递归的函数?以及如何打印由给定的“宽度”,n,由较小的X组成的大X, 这肯定是奇怪的。例如宽度为n = 7的X。

0 个答案:

没有答案