在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
观察每行的变化规律,找到算法。
代码如下:
#include
intmain()
{
inti,j,k;
for(i=0;i<7;i++)/*i为行,先输出前7行*/
{
for(j=0;j<6-i;j++)/*输出*前空格*/
{
printf("");
}
for(k=6-i;k
{
printf("*");
}
printf("\n");
}
for(i=7;i<13;i++)/*输出后6行*/
{
for(j=0;j
{
printf("");
}
for(k=i-7;k<18-i;k++)
{
printf("*");
}
printf("\n");
}
return0;
}
此法不能动态输出菱形图像,只局限与此图像,进行改进后代码如下:
#include
intmain()
{
intline,i,j,k;
scanf("%d",&line);
for(i=0;i
{
for(j=0;j
{
printf("");
}
for(k=0;k<2*i+1;k++)
{
printf("*");
}
printf("\n");
}
for(i=line;i<2*line;i++)
{
for(j=0;j
{
printf("");
}
for(k=0;k<2*line-2*(i-(line-1))-1;k++)
{
printf("*");
}
printf("\n");
}
return0;
}