C语言,如何打出空心三角形

为什么下面是空的,初学求教

img

你的if(p!=1&&p!==i)导致的空格 如i=3,p=2就符合条件 就输出空格 把最后一行单独提出来就可以了
可以这么试试,我把a直接等于15了 你自己改一下试试
#include<stdio.h>
int main()
{
int a,i,j;
a= 15;
for(i=1;i<=a;i++)
{
for(j=1;j<=i;j++)
{
if(j!=1&&j!=i)
if(i==a)
printf("");
else
printf(" ");
else
printf("
");

    }
    printf("\n");
}
return 0;

}

最简单的方法,就是你第一个for循环少循序一次,i<a
在最后加一个for循环,输出a个*

或者是
在最里层,加i==a和i!=a的判断