[题目]
如下,最外层输出X,次外层输出Y,依次往里面输出0、1、2......
最简单的方法是什么?
X X X X X X X
X Y Y Y Y Y X
X Y 0 0 0 Y X
X Y 0 1 0 Y X
X Y 0 0 0 Y X
X Y Y Y Y Y X
X X X X X X X
[我的代码]
#include
<
math.h
>
#include
<
iostream
>
using
namespace
std;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
char
gszData[]
=
...
{'X', 'Y', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}
;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
int
iMax(
int
a,
int
b)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
return a >b ? a : b;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
void
bMyShow(
int
iCount)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
for (int i = 0; i < iCount * 2 - 1; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
for (int j = 0; j < iCount * 2 - 1; j++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
cout<<gszData[iCount - iMax(abs(iCount - i - 1), abs(iCount - j -1)) - 1]<<" ";
}
cout<<endl;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
int
main(
int
argc,
char
*
argv[])
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
bMyShow(7);
return 0;
}