要对齐打印杨辉三角,可以使用printf函数的格式化输出来控制每个数字的宽度和对齐方式。
以下是一个示例代码:
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
int triangle[n][n];
// 初始化杨辉三角的第一列和对角线上的元素为1
for (i = 0; i < n; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
}
// 计算杨辉三角的其他元素
for (i = 2; i < n; i++) {
for (j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印杨辉三角
for (i = 0; i < n; i++) {
// 在每个数字前面打印空格,使其对齐
for (j = 0; j < n - i - 1; j++) {
printf(" ");
}
// 打印每行的数字
for (j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
return 0;
}
这段代码首先根据输入的行数创建一个二维数组来表示杨辉三角。然后使用两个循环来计算杨辉三角的每个数字,并将其存储在二维数组中。最后,使用嵌套的循环打印杨辉三角,其中第一个循环控制行数,第二个循环控制每行的数字个数,通过在每个数字前打印适当数量的空格来实现对齐。