#include <stdio.h>
// 函数定义：打印指定数量的空格
void printSpaces(int count) {
    for (int i = 0; i < count; i++) {
        printf(" ");
    }
}
// 函数定义：打印指定数量的星号
void printStars(int count) {
    for (int i = 0; i < count; i++) {
        printf("*");
    }
}

// 函数定义：打印完整的金字塔
void printPyramid(int totalLines) {
    int printLine(int line, int totalLines);
    for (int i = 1; i <= totalLines; i++) {
        printLine(i, totalLines);
    }
}

int printLine(int line, int totalLines) {
    int spaces = totalLines - line;
    int stars = 2 * line - 1;
    printSpaces(spaces);
    printStars(stars);
    printf("\n");
    return spaces + stars; // 返回当前行字符总数
}
// main中统计
int main() {
    int n = 5;  		// 金字塔的行数
    printf("金字塔形状:\n");
    printPyramid(n);  	// 调用打印金字塔的函数
    int totalChars = 0;
    for (int i = 1;i<=n;i++) {
        totalChars += printLine(i, n);
    }
    printf("金字塔总字符数：%d\n", totalChars);

   
    return 0;
}
