5.23题目
(星号组成的菱形图案)编写一个程序,打印以下的菱形图案。要求使用打印一个星号(*)、空格或者一个换行符的输出语句。尽量多用循环(使用嵌套 for 语句),同时尽量减少输出语句的使用次数。
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
for (int i = 1; i <= 5; i++)
{
for (int j = 0; j < 5 - i; j++)
cout << " ";
for (int m = 0; m < 2 * i - 1; m++)
cout << "*";
cout << endl;
}
for (int i = 4; i >= 1; i--)
{
for (int j = 0; j < 5 - i; j++)
cout << " ";
for (int m = 0; m < 2 * i - 1; m++)
cout << "*";
cout << endl;
}
return 0;
}
运行截图
5.24题目
(修改星号组成的菱形图案)修改练习题5.23 所编写的程序,要求读1~19范围内的一个奇数来指定菱形中的行数,然后显示适合此尺寸的一个菱形。
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x;
cout << "请输入一个奇数(1~19):";
cin >> x;
for (int i = 1; i <= (x / 2 + 1); i++)
{
for (int j = 0; j < ((x / 2 + 1) - i); j++)
cout << " ";
for (int m = 0; m < 2 * i - 1; m++)
cout << "*";
cout << endl;
}
for (int i = x / 2; i >= 1; i--)
{
for (int j = 0; j < ((x / 2 + 1) - i); j++)
cout << " ";
for (int m = 0; m < 2 * i - 1; m++)
cout << "*";
cout << endl;
}
return 0;
}