笨鸟也是要飞的 2021-04-23 12:35 采纳率: 100%
浏览 44
已采纳

为什么我这个打印不出来完整的空心菱形?要改哪里??

#include<stdio.h>
void main(){
    int a,b,c,d;
    printf("请输入一个值");
    scanf("%d",&b);
    for(a=1;a<=b;a++){//层数
        for(d=1;d<=b-a;d++){
        printf(" ");
        }
        for(c=1;c<=2*a-1;c++){
            if(c==1||c==2*a-1){
                printf("*");}
            else{
            printf(" ");
            }
        }
        printf("\n");
    }
        for(a=1;a<=b-1;a++){//层数
        for(d=1;d<=a;d++){//空格数
        printf(" ");
        }
        for(c=1;c<=2*a+1;c++){//每一行的*数
            if(c==1||c==2*a+1){
                printf("*");
            }else{
            printf(" ");
            }
            
            
        }
        printf("\n");
    }

        getchar();
        getchar();
}

  • 写回答

4条回答 默认 最新

  • 秋杪 2021-04-23 14:29
    关注
    int a,b,c,d;
            printf("请输入一个值");
            scanf("%d",&b);
            for(a=1;a<=b;a++){//层数
                for(d=1;d<=b-a;d++){
                printf(" ");
                }
                for(c=1;c<=2*a-1;c++){
                    if(c==1||c==2*a-1){
                        printf("*");}
                    else{
                    printf(" ");
                    }
                }
                printf("\n");
            }
                for(a=b-1;a>=1;a--){//层数
                for(d=1;d<=b-a;d++){//空格数
                printf(" ");
                }
                for(c=1;c<=2*a+1;c++){//每一行的*数
                    if(c==1||c==2*a-1){
                        printf("*");
                    }else{
                    printf(" ");
                    }
    
    
                }
                printf("\n");
            }
    
                getchar();
                getchar();
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?