队列c语言实现杨辉三角形
时间: 2023-10-16 22:09:22 浏览: 133
在 C 语言中,可以使用二维数组来实现杨辉三角形,也可以使用队列来实现。下面是使用队列实现杨辉三角形的代码:
```c
#include <stdio.h>
#define MAXSIZE 100
int main()
{
int n, i, j;
int queue[MAXSIZE];
int front = -1, rear = -1;
printf("请输入要打印的行数:");
scanf("%d", &n);
// 将第一行入队
queue[++rear] = 1;
for (i = 1; i <= n; i++) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印当前行
while (front != rear) {
int a = queue[++front];
int b = queue[front + 1];
printf("%2d ", a);
if (b != a) {
queue[++rear] = a + b;
}
}
queue[++rear] = 1; // 将下一行的第一个数入队
printf("%2d\n", 1); // 打印当前行最后一个数
}
return 0;
}
```
运行结果如下:
```
请输入要打印的行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
阅读全文