本次为大家提供一个C语言打印五角星的代码
目录
一、实现效果
打印五角星如图
二、完整代码
#include <stdio.h>
char wj[15][38];
int main()
{
int i=0, j=0, k, m4, n4;
for (int i = 0; i < 5; i++) //这是五角星的上面一个角(4行)
{
for (int j = 0; j < 18 - i; j++)//找规律在数组中读入空格
wj[i][j] = ' ';
for (j = 18-i; j <= i + 18; j++)//找规律在数组中读入*
wj[i][j] = '*';
}
for (i = 5; i < 9; i++) //这是五角星的中间两个角(4行)
{
for (j = 0; j < 3 * i - 15; j++)
wj[i][j] = ' ';
for (j = 3 * i - 15; j <= 51 - 3 * i; j++)
wj[i][j] = '*';
}
for (i = 9; i < 11; i++) //这是中间与下部相接的部分(2行)
{
for (j = 0; j < 20 - i; j++)
wj[i][j] = ' ';
for (j = 20 - i; j <= 15 + i; j++)
wj[i][j] = '*';
}
for (i = 11; i < 15; i++) //这是五角星的下面两个角(4行)
{
for (j = 0; j < 20 - i; j++)
wj[i][j] = ' ';
for (j = 20 - i; j <= 49 - 3 * i; j++)
wj[i][j] = '*';
for (j = 50 - 3 * i; j < 3 * i - 14; j++)//下面两个角中间的空隙
wj[i][j] = ' ';
for (j = 3 * i - 14; j < i + 16; j++)
wj[i][j] = '*';
}
for (i = 0; i < 15; i++)//循环输出整个二维字符数组
{
for (j = 0; j < 38; j++)
printf("%c", wj[i][j]);
printf("\n");
}
}