< div class = " aw-list-img " >
Can I rewrite it into a hollow diamond in C++?
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
char ch;
int i, j;
//上半部分
i = 1;
while (i <=7) //图形上半部分有 7 行
{
j = 0;
cout << setw(30 - i);
while (j <=(2 * i - 1)/2) //行的前部分字母
{
ch = 'A' + j;
cout << ch;
j++;
}
while (j < 2 * i - 1) //行的后部分字母
{
ch = ch - 1;
cout << ch;
j++;
}
cout << endl;
i++;
}
//下半部分
i = 7-1; //图形下半部分有 7-1 行
while (i>0)
{
j = 0;
cout << setw(30 - i);
while (j <= (2 * i - 1) / 2)
{
ch = 'A' + j;
cout << ch;
j++;
}
while (j < 2 * i - 1)
{
ch = ch - 1;
cout << ch;
j++;
}
cout << endl;
i--;
}
}
0 Answer
< div class = " aw-list-img " >
Refer to the following:
#include
#include
using namespace std;
int main()
{
char ch;
int i, j;
//上半部分
i = 1;
while (i <=7) //图形上半部分有 7 行
{
j = 0;
cout << setw(30 - i);
while (j <=(2 * i - 1)/2) //行的前部分字母
{
ch = 'A' + j;
if (j != 0)
cout << ' ';
else
cout << ch;
j++;
}
while (j < 2 * i - 1) //行的后部分字母
{
ch = ch - 1;
if (ch == 'A')
cout << ch;
else
cout << ' ';
j++;
}
cout << endl;
i++;
}
//下半部分
i = 7-1; //图形下半部分有 7-1 行
while (i>0)
{
j = 0;
cout << setw(30 - i);
while (j <= (2 * i - 1) / 2)
{
ch = 'A' + j;
if (j != 0)
cout << ' ';
else
cout << ch;
j++;
}
while (j < 2 * i - 1)
{
ch = ch - 1;
if (ch == 'A')
cout << ch;
else
cout << ' ';
j++;
}
cout << endl;
i--;
}
}
这家伙很懒,什么都没留下...