在用三个及以下的printf前提下用循环语句打印图形

如何用c语言的循环语句在使用三个printf以下的前提下打印
*
***
*****
*******
*****
***
*

你好!仅供参考

#include <stdio.h>
#define N 7
int main()
{
    int i, j;
    int a[N];
    for(i=0,j=1;j<=N;i+=1,j+=2)a[i]=j;
    for(i=0,j=1;j<=N;i+=1,j+=2)a[N-i]=j-2;
    for(i=0;i<N;i+=1){
        for(j=0; j<a[i];j++){
            printf("*");
        }
        printf("\n");
    }
return 0;
}

这是打印菱形吧,供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i,k,n;
    scanf("%d",&n);
    for (k=1,i=1-n;k!=0;i!=n?i++:(i=1-n,k!=n?k++:k=i,printf("\n")))
            printf(abs(k)>abs(i)?"%s":" ","*");
    return 0;
}