如何把这几个弄得更复杂一些

img


第一题要弄复杂一些,不知如何写,还有杨辉三角那个也要弄得更复杂些,也不知道怎么写,请帮帮我

希望采纳一下

#include <stdio.h>

int main() {
    int layers;
    printf("请输入层数:");
    scanf("%d", &layers);
    
    for (int i = 1; i <= layers; i++) {
        // 打印空格,数量为layers - i
        for (int j = 1; j <= layers - i; j++) {
            printf(" ");
        }
        // 打印*
        for (int k = 1; k <= i*2 - 1; k++) {
            printf("*");
        }
        printf("\n");
    }
}

供参考:

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




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



//(3)
#include <stdio.h>
#define N  10
int main()
{
    int i, j, k, n, a[N][N];
    scanf("%d", &n);
    for (i = 0; i < n; i++){
        a[i][i] = 1;
        a[i][0] = 1;
    }
    for (i = 2; i < n; i++)
        for (j = 1; j <= i - 1; j++)
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j];

    for (i = n - 1; i >= 0; i--)
    {
        for (k = 0; k < n - i - 1; k++)
            printf("%c", ' ');  //输出空格
        for (j = i; j >= 0; j--)
            printf("%2d", a[i][j]);
        printf("\n");
    }
}

你是要把题目弄复杂,还是在题目不变的情况下,把代码写得复杂?说清楚