不清楚如何控制行数来输出三角形

我只会控制星号总数来输出三角形,或者控制最后一行星号个数来输出三角形,请问我怎么控制行数输出啊

img

两层循环 外层控制行,内层控制列

#include <stdio.h>
main() {
    int row, col, i, n;
    printf("请输入打印行号:");
    scanf("%d", & n);
    for (i = 1; i <= n; i++) {
        for (row = 1; row <= n - i; row++)
            printf(" ");
        for (col = 1; col <= 2 * i - 1; col++)
            printf("*");
        printf("\n");
    }
}


#include<stdio.h>
int main()
{
    int line,i,j;
    printf("请输入行数:");
    scanf("%d",&line);
    int a[line][line];
    for( i = 0; i<line; i++){                //打印空格 
        for( j = 0; j < line-i; j++){
            printf(" ");
        }
        for(j = 1; j<=(i*2+1); j++){
            printf("*");
        }
        printf("\n");
    }
    return 0;
} 

img

    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
        for(j=0;j<n-i;j++)
            printf("*");
        printf("\n");
    }
或
    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" ");
        for(j=i;j<n;j++)
            printf("*");
        printf("\n");
    }