打印一个菱形
C++版本 / Python版本
C++版本
#include <iostream>
using namespace std;
#define MAXN 6
int main()
{
char rombus[MAXN][MAXN];
memset(rombus, 0, sizeof(rombus)/sizeof(char));
if (MAXN % 2 == 0)
{
for (int i = 0; i < MAXN - 1; i++)
{
if ((MAXN / 2 + i) < MAXN)
{
rombus[i][MAXN / 2 + i] = '*';
rombus[i][MAXN / 2 - i] = '*';
}
else
{
rombus[i][i - MAXN / 2 + 2] = '*';
rombus[i][MAXN - (i - MAXN / 2 + 2)] = '*';
}
}
}
else
{
for (int i = 0; i < MAXN ; i++)
{
if ((MAXN / 2 + i) < MAXN)
{
rombus[i][MAXN / 2 + i] = '*';
rombus[i][MAXN / 2 - i] = '*';
}
else
{
rombus[i][i - MAXN / 2] = '*';
rombus[i][MAXN - (i - MAXN / 2) - 1] = '*';
}
}
}
for (int i = 0; i < MAXN; i++)
{
for (int j = 0; j < MAXN; j++)
{
if (rombus[i][j] == 0)
cout << " ";
else
cout << rombus[i][j];
}
cout << endl;
}
return 0;
}
#include <iostream>
using namespace std;
#define MAXN 16
int main()
{
char rombus[MAXN][MAXN];
memset(rombus, 0, sizeof(rombus) / sizeof(char));
for (int i = 0; i < floor(MAXN / 2) + MAXN % 2; i++)
{
rombus[i][(int)floor(MAXN / 2) + MAXN % 2 + i - 1] = '*';
rombus[i][(int)floor(MAXN / 2) + MAXN % 2 - i - 1] = '*';
if (MAXN % 2 > 0 && i != floor(MAXN / 2) + MAXN % 2 - 1)
{
rombus[MAXN - i - 1][(int)floor(MAXN / 2) + MAXN % 2 + i - 1] = '*';
rombus[MAXN - i - 1][(int)floor(MAXN / 2) + MAXN % 2 - i - 1] = '*';
}
else
{
rombus[MAXN - i - 1][(int)floor(MAXN / 2) + MAXN % 2 + i - 1] = '*';
rombus[MAXN - i - 1][(int)floor(MAXN / 2) + MAXN % 2 - i - 1] = '*';
}
}
for (int i = 0; i < MAXN; i++)
{
for (int j = 0; j < MAXN; j++)
{
if (rombus[i][j] == 0)
cout << " ";
else
cout << rombus[i][j];
}
cout << endl;
}
return 0;
}
Python版本