21xrx.com
2024-04-25 14:33:10 Thursday
登录
文章检索 我的文章 写文章
C 中的模式程序
2021-07-06 22:16:43 深夜i     --     --
C

C 语言模式程序,展示如何创建各种数字和星星模式。 程序需要嵌套循环(另一个循环内的循环)。 数字、星号或字符的设计是以某种逻辑方式排列它们的一种方式,或者它们可以形成一个序列。 其中一些是在数学中特别重要的三角形。 有些图案是对称的,而有些则不是。 查看所有这些的完整页面。

 

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

我们在上面展示了五行; 在程序中,用户输入要打印的行数。

C中的模式程序

#include <stdio.h>


int main()
{
  int row, c, n;

  printf("Enter the number of rows in pyramid of stars to print\n");
  scanf("%d", &n);

  for (row = 1; row <= n; row++)  // Loop to print rows
  {
    for (c = 1; c <= n-row; c++)  // Loop to print spaces in a row
      printf(" ");

    for (c = 1; c <= 2*row - 1; c++) // Loop to print stars in a row
      printf("*");

    printf("\n");
  }

  return 0;
}

 

程序输出:

下载星星金字塔程序。

有关数字和字符的更多图案或形状,请参阅以下页面上的代码:弗洛伊德三角形帕斯卡三角形

考虑以下三角形图案***************

要打印上面的模式,请参阅下面的代码:

C中的星形图案

#include <stdio.h>


int main()
{
  int n, c, k;

  printf("Enter number of rows\n");
  scanf("%d", &n);

  for (c = 1; c <= n; c++)
  {
    for(k = 1; k <= c; k++)
      printf("*");

    printf("\n");
  }

  return 0;
}

理解这些示例后,您就可以更好地创建所需的模式。 设计模式涉及如何正确使用嵌套循环; 其中一些可能包含字母或其他特殊字符。 一个关键方面是了解模式中的字符如何变化。

C 模式程序

图案:

      *  *A* *A*A**A*A*A*

星星和字母的C模式程序:

#include <stdio.h>


int main()
{
  int n, c, k;

  printf("Enter number of rows\n");
  scanf("%d", &n);

  for (c = 1; c <= n; c++)
  {
    for (k = 1; k <= n-c; k++)
      printf(" ");

    for (k = 1; k < c; k++)
      printf("*A");

    printf("*\n");
  }
  return 0;
}

图案:

    1   232  34543 4567654567898765

C程序:

#include <stdio.h>


int main()
{
  int n, c, row, t = 1;

  scanf("%d", &n);

  for (row = 1; row <= n; row++) {
    for (c = 1; c <= n - row; c++)
      printf(" ");

    t = row;

    for (c = 1; c <= row; c++) {
      printf("%d", t);
      t++;
    }

    t = t - 2;

    for (c = 1 ; c < row; c++) {
      printf("%d", t);
      t--;
    }

    printf("\n");
  }

  return 0;
}

图案:

1  2  4  73  5  8 116  9 12 1410 13 15 16

矩阵模式C程序

#include <stdio.h>


int main()
{
  int n, p = 1, a[100][100], j, m, k, r;

  scanf("%d", &r);

  for (j = 1; j <= r; j++) {
    m = 0;
    n = j;
    for (k = 1; k <= j; k++)
      a[m++][--n] = p++;
  }

  for (j = 1; j <= r-1; j++) {
    m = j;
    n = r-1;
    for (k = 1; k<= r-j; k++)
      a[m++][n--] = p++;
  }

  for (j = 0; j <= r-1; j++) {
    for (k = 0; k <= r-1; k++)
      printf("%d ", a[j][k]);
    printf("\n");
  }

  return 0;
}

 

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复