C语言用字符数组输出杨辉三角
时间: 2024-12-14 18:25:45 浏览: 8
C语言程序设计-程序举例杨辉三角形.pptx
在C语言中,要使用字符数组输出杨辉三角,首先需要了解杨辉三角是一个由数字构成的金字塔型序列,每一行的每个数都是前一行相邻两个数之和。我们可以创建一个二维字符数组,并动态分配内存存储每一层的数字。
下面是一个简单的示例,它将打印出前几行的杨辉三角:
```c
#include <stdio.h>
#define ROWS 5 // 可以调整输出的行数
// 动态分配字符数组
char** create_triangle(int rows) {
int size = rows * (rows + 1) / 2;
char** triangle = (char**)malloc(size * sizeof(char*));
for (int i = 0; i < rows; ++i) {
triangle[i] = (char*)malloc((i+1) * sizeof(char)); // 每行长度从1到当前行数
triangle[i][0] = triangle[i][i] = '1'; // 第一行和最后一行初始化为1
}
return triangle;
}
// 输出杨辉三角
void print_triangle(char** triangle, int rows) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%c ", triangle[i][j]); // 打印数字
}
printf("\n"); // 换行
}
for (int i = 0; i < rows; ++i) {
free(triangle[i]);
}
free(triangle);
}
int main() {
char** triangle = create_triangle(ROWS);
print_triangle(triangle, ROWS);
阅读全文