c语言编个漏斗 输入一个数字 输出和下面图片一样

img

两次for循环就可以输出这个效果

#include <math.h>
int main()
{
    int i,j,n;
    printf("please enter a size:");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        printf("- ");
    }
    printf("\n");
    for(i=0;i<n/2;i++){
        for(j=0;j<i+1;j++){
            printf("- ");
        }
        for(j=0;j<n-i*2-2;j++){
            printf("%d ",i+1);
        }
        for(j=0;j<i+1;j++){
            printf("- ");
        }
        printf("\n");
    }
    for(i=n/2-2;i>=0;i--){
        for(j=0;j<i+1;j++){
            printf("- ");
        }
        for(j=0;j<n-i*2-2;j++){
            printf("%d ",i+1);
        }
        for(j=0;j<i+1;j++){
            printf("- ");
        }
        printf("\n");
    }
for(i=0;i<n;i++){
        printf("- ");
    }
}


img