码迷,mamicode.com
首页 > 其他好文 > 详细

打印皇冠

时间:2019-06-15 11:51:29      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:中间   space   turn   std   line   style   mamicode   stream   ima   

#include <iostream>

using namespace std;
int main()
{
    //用一般方式打印出皇冠
       cout<<"*          *          *"<<endl;
       cout<<" ***      ***      *** "<<endl;
       cout<<"  *****  *****  *****  "<<endl;
       cout<<"   *****************   "<<endl;//17 4
       cout<<"    ***************    "<<endl;//15 5
       cout<<"     *************     "<<endl;//13
    cout<<"-------------------------------------------------------------------"<<endl;
    //用循环打印
    int topline;//冠顶行数
    cin>>topline ;
    //先打印冠顶
    int a=topline;//加一变量控制空格数
    for(int i = 0;i < topline;i++)//控制皇冠顶的行数
        {
            for(int j=0;j<i;j++)//打印最左边空格区
                cout<<" ";
            for(int k=0;k<2*i+1;k++)//打印左边星
                cout<<"*";
            for(int j=0;j<4*a-2;j++)//打印左边空格区
                cout<<" ";
            for(int k=0;k<2*i+1;k++)//打印中间星
                cout<<"*";
            for(int j=0;j<4*a-2;j++)//打印右边空格区
                cout<<" ";
            for(int k=0;k<2*i+1;k++)//打印右边星
                cout<<"*";
            for(int j=0;j<i;j++)//打印最右边空格区
                cout<<" ";
            a--;//把中间空格数的变量值改变
            cout<<endl;
        }
        //再打印冠底
        int b;
        b=3*(2*topline-1)+2;//确定冠底第一行的星的个数
        for(int i = topline;i <2*topline;i++)//控制皇冠底的行数
        {
            for(int j=0;j<i;j++)//打印最左边空格区
                cout<<" ";
            for(int k=0;k<b;k++)//打星
                cout<<"*";
            b-=2;//递减
            for(int j=0;j<i;j++)//打印最右边空格区
                cout<<" ";
            cout<<endl;//换行
        }




    return 0;
}

技术图片

 

打印皇冠

标签:中间   space   turn   std   line   style   mamicode   stream   ima   

原文地址:https://www.cnblogs.com/delongzhang/p/11026829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!