指教啊!!!是用循环做吗?
编程输出这个:*
***
*****
*******
*****
***
*
程序代码:#include<stdio.h>
void main()
{
int i,j,k;
for(i=0;i<4;i++)//这里的循环是首先输出前面的4行
{
for(k=0;k<3-i;k++)//每一行输出空格的个数
{
printf(" ");
}
for(j=0;j<2*i+1;j++)//每一行输出星号的个数
{
printf("*");
}
printf("\n");
}
for(i=0;i<3;i++)//后三行输出情况
{
for(k=0;k<i+1;k++)
{
printf(" ");
}
for(j=0;j<=4-2*i;j++)
{
printf("*");
}
printf("\n");
}
}
程序代码:#include <stdio.h>
void main()
{
//1.定义变量
int nH = 7; // 行高
int nA = 0; // 前导空格数
int nB = 0; // 每行的星号数
int nC = 0; // 行数
int nL = 40;// 图形中心位置
//2.设置初始值
nA = nL;
nB = -1;
//3.打印图形
for(nC = 0; nC <= nH; nC = nC + 1)
{
//3.1.计算每行的前导空格数和星号数
if(nC <= nH / 2)
{
nA = nA -1;
nB = nB + 2;
}else
{
nA = nA + 1;
nB = nB - 2;
}
// 3.2.打印前导空格
for(int nI =1; nI <= nA; nI = nI + 1)
{
printf(" ");
}
// 3.3.打印本行星号
for( nI =1; nI <= nB; nI = nI + 1)
{
printf("*");
}
//3.4. 换行
printf("\n");
}
}
程序代码:#include <stdio.h>
void main()
{
//1.定义变量
int nH = 7; // 行高
int nA = 0; // 前导空格数
int nB = 0; // 每行的星号数
int nC = 0; // 行数
int nL = 40;// 图形中心位置
//2.设置初始值
nA = nL;
nB = -1;
//3.打印图形
for(nC = 0; nC <= nH; nC = nC + 1)
{
//3.1.计算每行的前导空格数和星号数
if(nC <= nH / 2)
{
nA = nA -1;
nB = nB + 2;
}else
{
nA = nA + 1;
nB = nB - 2;
}
// 3.2.打印前导空格
for(int nI =1; nI <= nA; nI = nI + 1)
{
printf(" ");
}
// 3.3.打印本行星号
for( nI =1; nI <= nB; nI = nI + 1)
{
printf("*");
}
//3.4. 换行
printf("\n");
}
}