使用 for 循环、while 循环、do while 循环和函数编写一个 C 程序来打印三角形星型图案,并提供示例。有多种类型的三角形,本博文涵盖了其中大部分。
C 语言使用 for 循环打印三角形星型图案的程序
下面的程序使用多个嵌套的 for 循环来迭代三角形的行和列。第一个嵌套循环打印空格,下面的循环打印星号。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print Triangle = ");
scanf("%d", &rows);
for (int i = 1 ; i <= rows; i++ )
{
for (int j = 0 ; j < rows - i; j++ )
{
printf(" ");
}
for (int k = 0 ; k < i * 2 - 1; k++ )
{
printf("* ");
}
printf("\n");
}
}

在这个星型三角形图案程序中,我们将上面示例代码中的for 循环替换为while 循环。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print Triangle = ");
scanf("%d", &rows);
int i = 1 ;
while (i <= rows )
{
int j = 0 ;
while ( j < rows - i )
{
printf(" ");
j++;
}
int k = 0 ;
while ( k < i * 2 - 1 )
{
printf("* ");
k++;
}
printf("\n");
i++;
}
}
输出
Enter Rows to Print Triangle = 10
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
此示例使用do while 循环并打印三角形星型图案。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print Triangle = ");
scanf("%d", &rows);
int i = 1 ;
do
{
int j = 0 ;
do
{
printf(" ");
j++;
} while ( j <= rows - i );
int k = 0 ;
do
{
printf("* ");
k++;
} while ( k < i * 2 - 1 );
printf("\n");
i++;
} while (i <= rows );
}
输出
Enter Rows to Print Triangle = 13
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * *
在下面的星型三角形图案程序中,我们创建了一个函数,该函数接受行数和任意字符,并使用该符号打印图案。
#include<stdio.h>
void loopLogic(int rows, char ch)
{
for (int i = 1 ; i <= rows; i++ )
{
for (int j = 0 ; j < rows - i; j++ )
{
printf(" ");
}
for (int k = 0 ; k < i * 2 - 1; k++ )
{
printf("%c ", ch);
}
printf("\n");
}
}
int main(void)
{
int rows;
char ch;
printf("Enter Character = ");
scanf("%c", &ch);
printf("Enter Rows to Print Triangle = ");
scanf("%d", &rows);
loopLogic(rows, ch);
}
输出
Enter Character = $
Enter Rows to Print Triangle = 16
$
$ $ $
$ $ $ $ $
$ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
下面显示的示例是不同种类的星型三角形,我们使用 for 循环来显示图案。但是,您可以使用超链接查看多种方法,例如 while 循环、do while 循环和函数。
C 语言打印空心三角形星型图案的程序
有关空心三角形星型图案的信息 >> 点击此处。
#include<stdio.h>
int main(void)
{
int i, j, k, rows;
printf("Enter Hollow Triangle Rows = ");
scanf("%d", &rows);
for (i = 1 ; i <= rows; i++ )
{
for ( j = 1 ; j <= rows - i; j++ )
{
printf(" ");
}
for ( k = 1 ; k <= i * 2 - 1; k++ )
{
if (i == 1 || i == rows || k == 1 || k == i * 2 - 1 )
printf("* ");
else
printf(" ");
}
printf("\n");
}
}
输出
Enter Hollow Triangle Rows = 11
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* * * * * * * * * * * * * * * * * * * * *
倒三角形星型图案
有关倒三角形星型图案的更多信息 >> 点击此处。
#include<stdio.h>
int main(void)
{
int i, j, k, rows;
printf("Enter Rows to Print Inverted Triangle = ");
scanf("%d", &rows);
for (i = rows ; i > 0; i-- )
{
for (j = 1 ; j <= rows - i; j++ )
{
printf(" ");
}
for (k = 1 ; k <= i * 2 - 1; k++ )
{
printf("* ");
}
printf("\n");
}
}
输出
Enter Rows to Print Inverted Triangle = 14
* * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
向下三角形星型图案
有关向下三角形星型图案的信息 >> 点击此处。
#include<stdio.h>
int main(void)
{
int i, j, rows;
printf("Enter Rows to Print Downward Triangle = ");
scanf("%d", &rows);
for (i = rows - 1; i >= 0; i-- )
{
for (j = 0 ; j <= i; j++ )
{
printf("* ");
}
printf("\n");
}
}
输出
Enter Rows to Print Downward Triangle = 9
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
左帕斯卡三角形星型图案
有关左帕斯卡三角形星型图案的信息 >> 点击此处。
#include<stdio.h>
void loopCode(int rows, int i)
{
int j, k;
for (j = i; j < rows; j++)
{
printf(" ");
}
for (k = 1; k <= i; k++)
{
printf("* ");
}
printf("\n");
}
int main(void)
{
int i, rows;
printf("Enter Left Pascal Triangle Rows = ");
scanf("%d", &rows);
for (i = 1; i <= rows; i++) {
loopCode(rows, i);
}
for (i = rows - 1; i >= 1; i--) {
loopCode(rows, i);
}
}
输出
Enter Left Pascal Triangle Rows = 8
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
空心左帕斯卡三角形星型图案
有关空心左帕斯卡三角形星型图案的更多信息 >> 点击此处。
#include<stdio.h>
void loopcode(int rows, int i)
{
int j, k;
for (j = i; j < rows; j++)
{
printf(" ");
}
for (k = 1; k <= i; k++)
{
if (k == 1 || k == i )
printf("* ");
else
printf(" ");
}
printf("\n");
}
int main(void) {
int i, rows;
printf("Enter Rows to Print Hollow Left Pascal Triangle = ");
scanf("%d", &rows);
for (i = 1; i <= rows; i++)
{
loopcode(rows, i);
}
for (i = rows - 1; i >= 1; i--)
{
loopcode(rows, i);
}
}
输出
Enter Rows to Print Hollow Left Pascal Triangle = 11
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
C 语言打印右帕斯卡三角形星型图案的程序
有关右帕斯卡三角形星型图案的更多信息 >> 点击此处。
#include<stdio.h>
void loopLogic(int rows, int i)
{
for (int j = 0; j < i; j++)
{
printf("* ");
}
printf("\n");
}
int main(void)
{
int i, rows;
printf("Enter Rows to Print Right Pascal Triangle = ");
scanf("%d", &rows);
for (i = 0; i < rows; i++)
{
loopLogic(rows, i);
}
for (i = rows; i >= 0; i--)
{
loopLogic(rows, i);
}
}
输出
Enter Rows to Print Right Pascal Triangle = 10
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
空心右帕斯卡三角形星型图案
有关空心右帕斯卡三角形星型图案的更多信息 >> 点击此处。
#include<stdio.h>
void loopLogic(int rows, int i)
{
for (int j = 1; j <= i; j++)
{
if (j == 1 || j == i )
printf("* ");
else
printf(" ");
}
printf("\n");
}
int main(void)
{
int i, rows;
printf("Enter Hollow Right Pascal Triangle Rows = ");
scanf("%d", &rows);
for (i = 0; i < rows; i++)
{
loopLogic(rows, i);
}
for (i = rows; i >= 0; i--)
{
loopLogic(rows, i);
}
}
输出
Enter Hollow Right Pascal Triangle Rows = 12
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
直角三角形星型图案
有关直角三角形星型图案的更多信息 >> 点击此处。
#include<stdio.h>
int main(void)
{
int rows;
printf("Enter Rows to Print Right Angled Triangle = ");
scanf("%d", &rows);
for (int i = 1; i <= rows; i++)
{
for (int j = 1; j <= i; j++)
{
printf("* ");
}
printf("\n");
}
}
输出
Enter Rows to Print Right Angled Triangle = 15
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *