/*
烟台大学计算机学院 2016
作者:张威
完成日期:2016年12月22日
版本号:v1.0
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=2*(n-i)-1;j++)
printf(" ");
if(i==n&&j==1) //易错点
printf("*");
else
printf(" *");
for(j=1;j<=4*(i-1)-2;j++)
printf(" ");
if(i!=1)printf(" *\n");
else printf("\n");
}
for(i=n-1;i>0;i--)
{
for(j=1;j<=2*(n-i)-1;j++)
printf(" ");
if(i==n&&j==1)
printf("*");
else
printf(" *");
for(j=1;j<=4*(i-1)-2;j++)
printf(" ");
if(i!=1)printf(" *\n");
else printf("\n");
}
return 0;
}
运行结果:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=2*(n-i)-1;j++)
printf(" ");
for(j=1;j<=i;j++) // 这是此类问题的易错点 最后一行的第一个数字前没有空格
{
if(i==n&&j==1) //这是一个巧妙的方法
printf("%d",j);
else
printf(" %d",j);
}
for(j=i-1;j>0;j--)
printf(" %d",j);
printf("\n");
}
return 0;
}
运行结果: