c语言使用数组输出指定杨辉三角
时间: 2024-12-11 08:35:07 浏览: 16
c语言杨辉三角 (二维数组).zip
在C语言中,打印杨辉三角(Pascal's Triangle)通常使用动态内存分配和嵌套循环来生成每一行的值。下面是一个简单的示例,展示了如何实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
// 动态分配并初始化杨辉三角的一个元素
int* initRow(int size) {
int* row = (int*)malloc(size * sizeof(int));
for (int i = 0; i <= size; ++i) {
if (i == 0 || i == size) {
row[i] = 1;
} else {
row[i] = row[i - 1] + row[i - 2];
}
}
return row;
}
// 打印数组
void printArray(int* arr, int size) {
for (int i = 0; i <= size; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%d ", arr[j]);
}
printf("\n");
}
free(arr);
}
// 主函数生成并打印指定大小的杨辉三角
int main() {
int n;
printf("请输入杨辉三角的行数: ");
scanf("%d", &n);
int* triangle = initRow(n);
printArray(triangle, n);
free(triangle); // 释放内存
return 0;
}
```
在这个程序里,用户会被询问要生成多少行的杨辉三角。`initRow` 函数用于计算并创建指定行数的数组,而 `printArray` 函数则负责将数组的值按行输出。注意,在使用完数组后记得调用 `free` 来释放动态分配的内存。
阅读全文