#include
#include
using namespace std;
void main(void)
{
int i,j,n;// n是*最多的那一行的行数
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
system("pause");
}
输入4就可以了
#include
using namespace std;
int main()
{
int Y = 7; //行数
int iSpace = 0; // 空格数
int iPrint = 0; //列数(打印*数量)
for (size_t y = 0; y < Y; y++)
{
iSpace =(Y / 2) - y;
iSpace = abs(iSpace); //abs取绝对值
for (size_t i = iSpace; i > 0; i--)
{
cout << " ";
}
iPrint = (Y / 2 - iSpace) * 2 + 1;
for (size_t x = iPrint; x > 0; x--)
{
cout << "*";
}
cout << endl;
}
cin.get();
return 0;
}
只要修改Y的值就好,注意要是奇数;
大脑绕不过来的话, 自己拿个笔在本子上画一画就知道算法了
#include
#include
#define N 7 //行数
#define KG abs(N/2-i) //每行空格数
#define XH (N/2-abs(N/2-i))*2+1 //每行星号数
void main()
{ int i,j;
for ( i=0;i
}
}
这个图,百度上大把的代码,就不重复敲了