文章目录
- 印刷金字塔三角形
- 打印实心菱形
- 打印空心菱形一层
- 打印空心菱形【二层】
- 打印空心菱形三层
- 打印空心菱形四层
印刷金字塔三角形
#include<iostream> using namespace std; int main() {
int n = 0; cout << "请输入要打印的总行数:" << endl; cin >> n; for (int i = 0; i <= n; i ) {
for (int j = 0; j < n - i; j ) {
cout << " "; } for (int k = 0; k < 2 * i - 1; k ) {
cout << "*"; } cout << endl; } }
打印实心菱形
- 利用对称思维确定下半部分每行输出*号数
#include<iostream> using namespace std; int main() {
int n=7, i, m, j, k; m = (n 1) / 2 for (i = 1; i <= n; i++) {
if (i <= m) {
for (j = m - i; j > 0; j--) cout<<" "; for (k = i * 2 - 1; k > 0; k--) cout<<"*"; } else {
for (j = i - m; j > 0; j--) cout<<" "; for (k = (n - i) * 2 + 1; k > 0; k--)//k=2(2*m-i)-1 cout<<"*"; } cout<<"\n"; } }
2 .分成两部分分别控制输出的*号个数
#include<iostream>
using namespace std;
int main()
{
int n = 0,a=0,b=0;
cout << "请输入要打印的总行数:" << endl;
cin >> n;
a = n / 2 + 1;
b = n / 2;
for (int i = 0; i <= a; i++)
{
for (int j = 0; j < a - i; j++)
cout << " ";
for (int j = 0; j < 2 * i - 1; j++)
cout << "*";
cout << endl;
}
for (int i = b; i > 0; i--)
{
for (int j = 0; j < b - i + 1; j++)
cout << " ";
for (int j = 0; j < 2 * i - 1; j++)
cout << "*";
cout << endl;
}
}
#include<iostream>
using namespace std;
int main()
{
int n = 0,a=0,b=0;
cout << "请输入要打印的总行数:" << endl;
cin >> n;
a = n / 2 + 1;
b = n / 2;
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= a - i; j++)
cout << " ";
for (int j = 1; j <= 2 * i - 1; j++)
cout << "*";
cout << endl;
}
for (int i = b; i >= 1; i--)
{
for (int j = 1; j <= b - i + 1; j++)
cout << " ";
for (int j = 1; j <= 2 * i - 1; j++)
cout << "*";
cout << endl;
}
}
打印空心菱形【一层】
#include<iostream>
using namespace std;
int main()
{
int n = 0, up = 0, down = 0;
cout << "请输入总的行数:" << endl;
cin >> n;
up = n / 2 + 1;
down = n / 2;
//上半部分
for(int i = 1; i <= up; i++)
{
//外层循环控制行数
//线性求解即可!
//打印空白
for (int j = 1; j <=up - i; j++) {
//内层循环控制列数
cout << " "; //空白
}
//打印“ * ”
for (int j = 1; j <= 2 * i - 1; j++) {
//内层循环控制列数
if (j == 1 || j == (2 * i - 1)) {
//控制内部空白区域
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
//打印下半部分
for (int i = 1; i <= down; i++)
{
for (int j = 1; j <= i; j++) {
cout << " ";
}
for (int j = 1; j <= -2 * i + n; j++) {
if (j == 1 || j == -2 * i + n) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
打印空心菱形【二层】
#include<iostream>
using namespace std;
int main()
{
int n = 0, up = 0, down = 0;
cout << "请输入总的行数:" << endl;
cin >> n;
up = n / 2 + 1;
down = n / 2;
//上半部分
for (int i = 1; i <= up; i++)
{
//外层循环控制行数
//线性求解即可!
//打印空白
for (int j = 1; j <= up - i; j++) {
//内层循环控制列数
cout << " "; //空白
}
//打印“ * ”
for (int j = 1; j <= 2 * i - 1; j++) {
//内层循环控制列数
if (j == 1 || j == 2 * i - 1 || j==2 || j==2*i-2) {
//控制内部空白区域
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
//打印下半部分
for (int i = 1; i <= down; i++)
{
for (int j = 1; j <= i; j++) {
cout << " ";
}
for (int j = 1; j <= -2 * i + n; j++) {
if (j == 1 || j == -2 * i + n || j==2 || j == -2*i+n-1) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
打印空心菱形【三层】
#include<iostream>
using namespace std;
int main()
{
int n = 0, up = 0, down = 0;
cout << "请输入总的行数:" << endl;
cin >> n;
up = n / 2 + 1;
down = n / 2;
//上半部分
for (int i = 1; i <= up; i++)
{
//外层循环控制行数
//线性求解即可!
//打印空白
for (int j = 1; j <= up - i; j++) {
//内层循环控制列数
cout << " "; //空白
}
//打印“ * ”
for (int j = 1; j <= 2 * i - 1; j++) {
//内层循环控制列数
if (j == 1 || j==2 ||j==3|| j == 2 * i - 1 || j==2*i-2||j==2*i-3) {
//控制内部空白区域
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
//打印下半部分
for (int i = 1; i <= down; i++)
{
for (int j = 1; j <= i; j++) {
cout << " ";
}
for (int j = 1; j <= -2 * i + n; j++) {
if (j == 1 || j==2 ||j==3|| j == -2 * i + n || j == -2*i+n-1||j==-2*i+n-2) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
打印空心菱形【四层】
#include<iostream>
using namespace std;
int main()
{
int n = 0, up = 0, down = 0;
cout << "请输入总的行数:" << endl;
cin >> n;
up = n / 2 + 1;
down = n / 2;
//上半部分
for (int i = 1; i <= up; i++)
{
//外层循环控制行数
//线性求解即可!
//打印空白
for (int j = 1; j <= up - i; j++) {
//内层循环控制列数
cout << " "; //空白
}
//打印“ * ”
for (int j = 1; j <= 2 * i - 1; j++) {
//内层循环控制列数
if (j == 1 || j==2 ||j==3|| j == 4 || j == 2 * i - 1 || j==2*i-2||j==2*i-3 || j == 2 * i - 4) {
//控制内部空白区域
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
//打印下半部分
for (int i = 1; i <= down; i++)
{
for (int j = 1; j <= i; j++) {
cout << " ";
}
for (int j = 1; j <= -2 * i + n; j++) {
if (j == 1 || j==2 ||j==3|| j == 4 || j == -2 * i + n || j == -2*i+n-1||j==-2*i+n-2 || j == -2 * i + n - 3) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
int i = 1; i <= down; i++) { for (int j = 1; j <= i; j++) { cout << " "; }
for (int j = 1; j <= -2 * i + n; j++) {
if (j == 1 || j==2 ||j==3|| j == 4 || j == -2 * i + n || j == -2*i+n-1||j==-2*i+n-2 || j == -2 * i + n - 3) {
cout << "*";
}
else {
cout << " ";
}
}
cout << endl;
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/785e2b311a3048448a9f3e567a8a1bf3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yY5Y-L5LiA5LiW,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)