打印如下图形
*
*.*.
*..*..*..
*...*...*...*...
首先使用数组实现
void main()
{
char s[7] = { '\0' };
s[0] = '*';
for (int i = 0; i < 6;i++)
{
for (int k = 1; k <= i; k++)
{
s[k] = '.';
}
for (int j = 0; j <= i; j++)
{
printf("%s", s);
}
printf("\n");
}
getchar();
}
然后使用递归实现
void chuan(int len)
{
if (len == 0)
{
printf("*");
return;
}
else
{
len--;
chuan(len);
printf(".");
}
}
void dayin(int i,int len)
{
if (i == 0)
{
chuan(len);
return;
}
else
{
dayin(--i,len);
chuan(len);
}
}
void xing(int i)
{
if (i == 0)
{
dayin(i,i);
printf("\n");
return;
}
else
{
int tmp = i - 1;
xing(tmp);
dayin(i,i);
printf("\n");
}
}
void main()
{
xing(3);
system("pause");
}