C语言打印n行数字金字塔 用pyramid
时间: 2024-05-09 20:15:38 浏览: 152
以下是用Python实现的打印n行数字金字塔的代码:
```python
n = int(input("请输入金字塔的行数: "))
for i in range(1, n+1):
for j in range(1, n-i+1):
print(" ", end="")
for j in range(1, i+1):
print(j, end="")
for j in range(i-1, 0, -1):
print(j, end="")
print()
```
这个程序首先要求用户输入金字塔的行数n,然后使用两个嵌套的循环来打印金字塔的每一行。第一个循环用来控制行数,第二个循环用来打印每一行的数字。
在第二个循环中,第一个for循环打印行前面的空格,第二个for循环打印数字从1到i,第三个for循环打印数字从i-1到1。最后,使用print()函数来换行。
相关问题
c语言打印n行金字塔
在C语言中,打印金字塔通常是通过循环结构实现的,特别是利用嵌套循环来控制空格和星号的输出。这里给出一个简单的示例,用于打印一个大小为n的左三角形金字塔:
```c
#include <stdio.h>
void print_pyramid(int n) {
int i, j;
for (i = 1; i <= n; ++i) {
// 打印前i个星号
for (j = 0; j < i; ++j) {
printf(" ");
}
// 打印当前行的星号
for (j = 0; j < n * 2 - i; j++) {
printf("*");
}
// 换行
printf("\n");
}
}
int main() {
int n = 5; // 你可以更改这个值以改变金字塔大小
print_pyramid(n);
return 0;
}
```
运行此程序,将输出一个由星号组成的5行金字塔:
```
*
***
*****
*******
*********
```
用C语言编写n行空心金字塔
用C语言编写n行空心金字塔可以采用循环结构和打印字符的方式来实现。这里是一个简单的示例,假设n是5:
```c
#include <stdio.h>
void print_pyramid(int n) {
int i, j, k;
for (i = 0; i < n; i++) {
// 打印外层空格
for (j = n - i - 1; j > 0; j--)
printf(" ");
// 打印星号(*)
for (k = 2 * i + 1; k > 0; k--)
printf("*");
// 打印内层空格
for (j = 1; j <= 2 * i - 1; j++)
printf(" ");
// 换行
printf("\n");
}
// 再打印一行顶点
for (i = 0; i < n; i++) {
printf(" ");
for (j = 0; j < n; j++)
printf("* ");
printf("\n");
}
}
int main() {
int rows;
printf("请输入金字塔的行数(例如5): ");
scanf("%d", &rows);
print_pyramid(rows);
return 0;
}
```
运行这个程序,输入特定的行数,就会得到相应大小的空心金字塔。
阅读全文