冷回清风暖 发表于 2020-5-28 14:39:03

输出菱形

#include<stdio.h>
#include<Windows.h>


void get_space(int n)
{
        int i ;
        for(i = 0; i < n; i++)
                printf(" ");
}
void get(int n,int mid)
{
        int i;
        get_space(mid);

        for(i = 0; i < n;i++)
        {
                printf("%c",'*');
                get_space(1);
        }
        putchar('\n');
}
void up_and_down(int n,int i,int mid,int t)
{
        get(i,mid -1);
        if(i < n)
                up_and_down(n - 1,i + 1,mid - 1,t);
        if(i != t)
                get(i,mid - 1);
}
int main(void)
{
        int i , layer, mid;
        printf("请输入菱形层数:(奇数)");
        scanf("%d",&layer);
        mid = layer /2 + 1;
        up_and_down(layer,1,mid,mid);

        system("pause");
        return 0;
}


利用递归画出菱形,不过总感觉不太完美。
页: [1]
查看完整版本: 输出菱形