下面是一个简单的C语言程序,可以输出字符金字塔:
- #include <stdio.h>
- int main() {
- int rows, i, j, k;
- printf("请输入行数:");
- scanf("%d", &rows);
- for(i=1; i<=rows; i++) {
- for(j=1; j<=i-1; j++) {
- printf(" ");
- }
- for(k=1; k<=2*i-1; k++) {
- printf("*");
- }
- printf("\n");
- }
- for(i=rows-1; i>=1; i--) {
- for(j=1; j<=i-1; j++) {
- printf(" ");
- }
- for(k=1; k<=2*i-1; k++) {
- printf("*");
- }
- printf("\n");
- }
- return 0;
- }
这个程序首先要求用户输入行数,然后使用两个for循环来打印字符金字塔。第一个循环用于打印金字塔的上半部分,第二个循环用于打印金字塔的下半部分。在每个循环中,我们使用嵌套的for循环来打印空格和星号,以形成金字塔的形状。
好的,我继续解释。
在这个程序中,我们使用了两个外部循环来控制行数,以及两个内部循环来控制每行的输出。第一个内部循环用于打印每行前面的空格,而第二个内部循环用于打印每行的星号。
在第一个外部循环中,我们从1循环到用户输入的行数,表示金字塔的上半部分。在每次循环中,我们首先打印一定数量的空格,以使星号能够居中显示。然后,我们打印一定数量的星号,以形成金字塔的上半部分。
在第二个外部循环中,我们从用户输入的行数减1循环到1,表示金字塔的下半部分。同样地,在每次循环中,我们首先打印一定数量的空格,然后打印一定数量的星号,以形成金字塔的下半部分。
最后,我们在每行的末尾打印一个换行符,以便在屏幕上显示一个完整的字符金字塔。
总之,这个程序使用嵌套的for循环和循环控制语句来实现字符金字塔的输出。