编写一个 C 程序,使用 for 循环、while 循环和函数来打印星形的字母 A 图案,并附带示例。下面的程序使用嵌套的 for 循环来迭代行和列。if else 条件用于检查顶部、外部边缘和中间线以打印星号。
#include<stdio.h>
int main(void)
{
int i, j, rows;
printf("Enter Rows to Print A = ");
scanf("%d", &rows);
for (int i = 0 ; i < rows; i++ )
{
for (int j = 0 ; j <= rows/2; j++ )
{
if ((i == 0 && j != 0 && j != rows/2) || i == rows / 2)
printf("*");
else if ((j == 0 || j == rows / 2) && i != 0)
printf("*");
else
printf(" ");
}
printf("\n");
}
}

C 语言使用 while 循环打印字母 A 星形图案的程序
在此 程序 中,我们将 for 循环 替换为 while 循环,还将 Else if 语句 替换为 If else 语句,以打印星形的字母 A 图案。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print A = ");
scanf("%d", &rows);
int i = 0 ;
while (i < rows)
{
int j = 0 ;
while (j <= rows/2 )
{
if (((i == 0 && j != 0 && j != rows/2) || i == rows / 2)
|| ((j == 0 || j == rows / 2) && i != 0))
printf("*");
else
printf(" ");
j++;
}
printf("\n");
i++;
}
}
输出
Enter Rows to Print A = 7
**
* *
* *
****
* *
* *
* *
此示例使用 do while 循环 并打印字母 A 星形图案。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print A = ");
scanf("%d", &rows);
int i = 0 ;
do
{
int j = 0 ;
do
{
if (((i == 0 && j != 0 && j != rows/2) || i == rows / 2)
|| ((j == 0 || j == rows / 2) && i != 0))
printf("*");
else
printf(" ");
j++;
} while (j <= rows/2 );
printf("\n");
i++;
} while (i < rows);
}
输出
Enter Rows to Print A = 11
****
* *
* *
* *
* *
******
* *
* *
* *
* *
* *
在下面的程序中,我们创建了一个 函数 来包含 for 循环逻辑,它接受行数和任何字符,并使用该符号打印星形的字母 A 图案。
#include<stdio.h>
void loopLogic(int rows, char ch)
{
for (int i = 0 ; i < rows; i++ )
{
for (int j = 0 ; j <= rows/2; j++ )
{
if (((i == 0 && j != 0 && j != rows/2) || i == rows / 2)
|| ((j == 0 || j == rows / 2) && i != 0))
printf("%c", ch);
else
printf(" ");
}
printf("\n");
}
}
int main(void)
{
int rows;
char ch;
printf("Enter Character = ");
scanf("%c", &ch);
printf("Enter Rows to Print A = ");
scanf("%d", &rows);
loopLogic(rows, ch);
}
输出
Enter Character = $
Enter Rows to Print A = 14
$$$$$$
$ $
$ $
$ $
$ $
$ $
$ $
$$$$$$$$
$ $
$ $
$ $
$ $
$ $
$ $