在本文中,我们将展示如何使用 for 循环、while 循环和函数来编写一个 C 程序,以打印字母 B 图案或星形图案。
#include <stdio.h>
int main()
{
int rows;
printf("Enter Rows = ");
scanf("%d",&rows);
for (int i = 0 ; i < rows; i++ )
{
printf("*");
for (int j = 0 ; j < 2 * rows - 1; j++ )
{
if ((i == 0 || i == rows - 1 || i == rows / 2) && (j < (2 * rows) - 2))
{
printf("*");
}
else if ((j == (2 * rows) - 2) && !(i == 0 || i == rows - 1 || i == rows / 2))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
Enter Rows = 19
**********************
* *
* *
* *
* *
* *
* *
* *
* *
***********************
* *
* *
* *
* *
* *
* *
* *
* *
**********************
此字母 B 图案的星形程序使用了 while 循环 来迭代行和列,而不是 for 循环。有关更多星形图案程序,请点击此处。
#include <stdio.h>
int main()
{
int rows, i, j, n;
printf("Enter Rows = ");
scanf("%d",&rows);
n = rows / 2;
i = 0 ;
while (i < rows )
{
printf("*");
j = 0 ;
while (j <= rows )
{
if ((i == 0 || i == rows - 1 || i == n) && (j < n))
{
printf("*");
}
else if (j == n && !(i == 0 || i == rows - 1 || i == n))
{
printf("*");
}
else
{
printf(" ");
}
j++;
}
printf("\n");
i++;
}
return 0;
}
Enter Rows = 13
****
* *
* *
* *
* *
* *
****
* *
* *
* *
* *
* *
****
在此 C 程序中,我们创建了一个 alphabetBPat 函数,该函数接受这些值并打印给定字符的字母 B 形状或图案。
#include <stdio.h>
void alphabetBPat(int rows, char a)
{
for (int i = 0 ; i < rows; i++ )
{
printf("%c", a);
for (int j = 0 ; j < 2 * rows - 1; j++ )
{
if ((i == 0 || i == rows - 1 || i == rows / 2) && (j < (2 * rows) - 2))
{
printf("%c", a);
}
else if ((j == (2 * rows) - 2) && !(i == 0 || i == rows - 1 || i == rows / 2))
{
printf("%c", a);
}
else
{
printf(" ");
}
}
printf("\n");
}
}
int main()
{
int rows;
char a;
printf("Enter Alphabet = ");
scanf("%c", &a);
printf("Enter Rows = ");
scanf("%d",&rows);
alphabetBPat(rows, a);
return 0;
}
