1. 输入参数n,实现如下打印效果。例
输入 3,
打印
1
2*2
3*3*3
3*3*3
2*2
1
输入5,
打印
1
2*2
3*3*3
4*4*4*4
5*5*5*5*5
5*5*5*5*5
4*4*4*4
3*3*3
2*2
1
程序如下:
void mirrorPrint(int n)
{
int i, j;
if (!n)
{
return;
}
for (i = 1; i <= n; i++)
{
printf("%d", i);
for (j = 1; j < i; j++)
{
printf("*%d", i);
}
if (i != n)
{
printf("\n");
}
}
printf("\n");
for (i = n; i >= 1; i--)
{
printf("%d", i);
for (j = 1; j < i; j++)
{
printf("*%d", i);
}
if (i != 1)
{
printf("\n");
}
}
}
2. 输入参数n,实现如下打印效果。例
输入 3
1* 2* 3*10*11*12
--- 4* 5* 8* 9
------ 6* 7
程序如下:
void ladderPrint(int n)
{
int i, j;
int rows, nxts; // row start number, and next segment start number
if (!n)
{
return;
}
rows = 0;
nxts = n*n + 1;
for (i = 1; i <= n; i++)
{
rows += 1;
for (j = 0; j < (i-1); j++)
{
printf("---");
}
printf("%2d", rows); // each row start number
for (j = 0; j < (n-i); j++)
{
printf("*%2d", ++rows);
}
for (j = 0; j <= n-i; j++)
{
printf("*%2d", nxts+j); // next segment numbers
}
nxts -= (n-i);
printf("\n");
}
}