编辑这个页面须要登录或更高权限!

C程序打印金字塔和图案

C 语言编程实例大全

在此示例中,您将学习在C语言编程中打印半金字塔,倒金字塔,全金字塔,倒全金字塔,帕斯卡三角形和弗洛伊德三角形。

要理解此示例,您应该了解以下C语言编程主题:

这是您在此页面中找到的程序列表。

示例1:*的半金字塔

*
* *
* * *
* * * *
* * * * *

C程序

#include <stdio.h>
int main() {
   int i, j, rows;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; ++i) {
      for (j = 1; j <= i; ++j) {
         printf("* ");
      }
      printf("\n");
   }
   return 0;
}

示例2:数字的半金字塔

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

C程序

#include <stdio.h>
int main() {
   int i, j, rows;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; ++i) {
      for (j = 1; j <= i; ++j) {
         printf("%d ", j);
      }
      printf("\n");
   }
   return 0;
}

示例3:字母的半金字塔

A
B B
C C C
D D D D
E E E E E

C程序

#include <stdio.h>
int main() {
   int i, j;
   char input, alphabet = 'A';
   printf("在最后一行中输入要打印的大写字符: ");
   scanf("%c", &input);
   for (i = 1; i <= (input - 'A' + 1); ++i) {
      for (j = 1; j <= i; ++j) {
         printf("%c ", alphabet);
      }
      ++alphabet;
      printf("\n");
   }
   return 0;
}

示例4:*的倒半金字塔

* * * * *
* * * *
* * * 
* *
*

C程序

#include <stdio.h>
int main() {
   int i, j, rows;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = rows; i >= 1; --i) {
      for (j = 1; j <= i; ++j) {
         printf("* ");
      }
      printf("\n");
   }
   return 0;
}

示例5:倒置的数字金字塔

1 2 3 4 5
1 2 3 4 
1 2 3
1 2
1

C程序

#include <stdio.h>
int main() {
   int i, j, rows;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = rows; i >= 1; --i) {
      for (j = 1; j <= i; ++j) {
         printf("%d ", j);
      }
      printf("\n");
   }
   return 0;
}

示例6:*的完整金字塔

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

C程序

#include <stdio.h>
int main() {
   int i, space, rows, k = 0;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; ++i, k = 0) {
      for (space = 1; space <= rows - i; ++space) {
         printf("  ");
      }
      while (k != 2 * i - 1) {
         printf("* ");
         ++k;
      }
      printf("\n");
   }
   return 0;
}

示例7:完整的数字金字塔

        1
      2 3 2
    3 4 5 4 3
  4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

C程序

#include <stdio.h>
int main() {
   int i, space, rows, k = 0, count = 0, count1 = 0;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; ++i) {
      for (space = 1; space <= rows - i; ++space) {
         printf("  ");
         ++count;
      }
      while (k != 2 * i - 1) {
         if (count <= rows - 1) {
            printf("%d ", i + k);
            ++count;
         } else {
            ++count1;
            printf("%d ", (i + k - 2 * count1));
         }
         ++k;
      }
      count1 = count = k = 0;
      printf("\n");
   }
   return 0;
}

示例8:*的倒金字塔

* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

C程序

#include <stdio.h>
int main() {
   int rows, i, j, space;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = rows; i >= 1; --i) {
      for (space = 0; space < rows - i; ++space)
         printf("  ");
      for (j = i; j <= 2 * i - 1; ++j)
         printf("* ");
      for (j = 0; j < i - 1; ++j)
         printf("* ");
      printf("\n");
   }
   return 0;
}

示例9:帕斯卡三角形

           1
         1   1
       1   2   1
     1   3   3    1
   1  4    6   4   1
 1  5   10   10  5   1

C程序

#include <stdio.h>
int main() {
   int rows, coef = 1, space, i, j;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 0; i < rows; i++) {
      for (space = 1; space <= rows - i; space++)
         printf("  ");
      for (j = 0; j <= i; j++) {
         if (j == 0 || i == 0)
            coef = 1;
         else
            coef = coef * (i - j + 1) / j;
         printf("%4d", coef);
      }
      printf("\n");
   }
   return 0;
}

示例10:弗洛伊德三角。

1
2 3
4 5 6
7 8 9 10

C程序

#include <stdio.h>
int main() {
   int rows, i, j, number = 1;
   printf("输入行数: ");
   scanf("%d", &rows);
   for (i = 1; i <= rows; i++) {
      for (j = 1; j <= i; ++j) {
         printf("%d ", number);
         ++number;
      }
      printf("\n");
   }
   return 0;
}

C 语言编程实例大全