#include<stdio.h>
//分两部分输出,首先输出上半部分
//下半部分,主要是控制奇数输出
void main()
{
int i,j,k,m=0,n;
printf("输入行数:");
scanf("%d",&n);
for(i=0;i<n/2;i++)//首先循环输出上半部分
{
for(j=i;j<n/2;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=n/2+1;i>0;i--)//下半部分
{
for(j=0;j<m;j++)//输出空格
printf(" ");
for(k=0;k<(2*i-1);k++)//输出*主要是控制奇数输出
printf("*");
printf("\n");
m++;
}
}
可能我的想法有点复杂,希望有更好的方法。