用C语言输出10行左对齐杨辉三角
时间: 2024-12-18 19:38:49 浏览: 9
C语言-杨辉三角(最佳算法)
在C语言中,打印杨辉三角通常是通过动态数组来存储每一行的数据,然后逐行输出。以下是一个简单的示例,展示了如何用C语言打印出前10行的左对齐杨辉三角:
```c
#include <stdio.h>
#define MAX_SIZE 10
// 动态分配并初始化杨辉三角数组
int* generatePascalTriangle(int row) {
int* triangle = (int*)malloc(sizeof(int) * (row + 1));
triangle[0] = triangle[row] = 1;
for (int i = 1; i < row; i++) {
triangle[i] = 0;
for (int j = 0; j <= i; j++) {
triangle[i] += triangle[j - 1] * triangle[i - j];
}
}
return triangle;
}
void printTriangle(int* triangle, int size) {
for (int i = 0; i <= size; i++) {
// 左对齐每个数,用空格填充
for (int j = 0; j < size - i; j++) {
printf(" ");
}
for (int k = 0; k <= i; k++) {
printf("%d", triangle[k]);
if (k < i)
printf(" ");
}
printf("\n");
}
free(triangle);
}
int main() {
for (int i = 0; i < 10; i++) {
int* currentRow = generatePascalTriangle(i);
printTriangle(currentRow, i);
}
return 0;
}
```
在这个程序中,我们首先计算每行的值,然后在`printTriangle`函数中使用两个循环来打印三角形。外层循环控制行数,内层循环用于打印每一个元素并保持左对齐。
阅读全文