#include<stdio.h>
int main()
{
int i,j,k,line,m;
printf("几行?:");
scanf("%d",&line);
m=(line+1)/2; //控制上半行
for(i=1;i<=m;i++) //i从1开始到中间行
{
for(k=0;k<m-i;k++) //输出每行前面的空格
{
printf(" ");
}
printf("*"); //输完空格后,输出*
if(i==1) //如果是第一行,就输出换行
{
printf("\n");
continue; //跳出当前循环
}
for(j=0;j<2*i-3;j++) //输出中间空格的格数 中间格数规律1 3 5 7 ..... 2*i-3 i从第二行开始
{
printf(" ");
}
printf("*"); //输完空格,输出*
printf("\n"); //换行
}
for(i=m-1;i>0;i--) //这里的for控制下半行
{
for(k=0;k<m-i;k++)
{
printf(" ");
}
printf("*");
if(i==1)
{
printf("\n");
continue;
}
for(j=0;j<2*i-3;j++)
{
printf(" ");
}
printf("*");
printf("\n");
}
return 0;
}
int main()
{
int i,j,k,line,m;
printf("几行?:");
scanf("%d",&line);
m=(line+1)/2; //控制上半行
for(i=1;i<=m;i++) //i从1开始到中间行
{
for(k=0;k<m-i;k++) //输出每行前面的空格
{
printf(" ");
}
printf("*"); //输完空格后,输出*
if(i==1) //如果是第一行,就输出换行
{
printf("\n");
continue; //跳出当前循环
}
for(j=0;j<2*i-3;j++) //输出中间空格的格数 中间格数规律1 3 5 7 ..... 2*i-3 i从第二行开始
{
printf(" ");
}
printf("*"); //输完空格,输出*
printf("\n"); //换行
}
for(i=m-1;i>0;i--) //这里的for控制下半行
{
for(k=0;k<m-i;k++)
{
printf(" ");
}
printf("*");
if(i==1)
{
printf("\n");
continue;
}
for(j=0;j<2*i-3;j++)
{
printf(" ");
}
printf("*");
printf("\n");
}
return 0;
}