C语言输出菱形

    xiaoxiao2021-03-25  98

    问题:用C语言输出下面的图形

    一般的解法是设菱形的中心为坐标原点,然后用嵌套的for循环输出,但这种方法需要很多的分析。如果用递归的角度考虑问题,将会得到很大的简化。

    #include <stdio.h> void printLine(int space,int star){     int i;     for(i=0;i<space;i++){         putchar(' ');     }     for(i=0;i<star;i++){         putchar('*');     }     putchar('\n'); } void draw(int space,int star){     if(space==0){         printLine(space,star); //输出最长的行,此时空格数为0     }     else{         printLine(space,star);         draw(space-1,star+2); //下一行空格减少1个,星号增加2个         printLine(space,star);     } } int main() {     int n;     scanf("%d",&n);     draw(n-1,1);//第一行有n-1个空格,1个星号     return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-38497.html

    最新回复(0)