第九周 项目三 输出星号图

问题及代码:

/*
*Copyright(c)2014,烟台计算机学院
*All rights reserved
*文件名称:test.cpp
*作者:曾建强
*完成日期:2014年10月26日
*版本号:v1.0
*
*问题描述:自选星号图,编程输出
*输入描述:一个数,即想要的星号图行数
*程序输出:输出一个星号图
*/


图案1:

#include <iostream>

using namespace std;

int main()

{
    int i,j,m;
    cout << "请输入所需星号图的行数:";
    cin >>m;
    for (i=1; i<=m;i++)
    {
        for (j=1; j<=2*(m-i)+1; j++)
            cout << "*";
        cout <<endl;
    }
    cout <<endl;
    return 0;
}


运行结果:

图案2:

#include <iostream>

using namespace std;

int main()
{
    int i,j,m,n;
    cout << "请输入所需星号图行数:";
    cin >>m;
    for (i=1; i<=m; i++)
    {
        for (n=1; n<=m-i; n++)
        {
            cout << " ";
        }
        for (j=1; j<=i; j++)
        {
            cout << "*";
        }
        cout <<endl;
    }
    return 0;

}


运行结果:

图案3:

#include <iostream>

using namespace std;

int main()
{
    int i,j,m,n;
    cout << "请输入所需星号图行数:";
    cin >>m;
    for (i=1; i<=m; i++)
    {
        for (n=1; n<=i; n++)
        {
            cout << " ";
        }
        for (j=1; j<=2*(m-i)+1; j++)
        {
            cout << "*";
        }
        cout<<endl;
    }
    cout <<endl;
    return 0;
}


运行结果:

图案4:

#include <iostream>

using namespace std;

int main()
{
    int i,j,m,n;
    cout << "请输入所需星号图行数:";
    cin >>m;
    for (i=1;i<=m;i++)
    {
        for (n=1;n<=m-i;n++)
        {
           cout<< " ";
        }
        for (j=1;j<=2*i-1;j++)
        {
            cout<< "*";
        }
        cout<<endl;
    }
    return 0;
}


运行结果:

图案5:

#include <iostream>
using namespace std;
int main( )
{
    int i,j,m;
    cout << "请输入所需星号图行数:";
    cin >>m;
    for(j=1; j<=m-1; j++)
    {
        cout<<" ";
    }
    cout<<"*"<<endl;

    for(i=2; i<=m-1; i++)
    {
        for(j=1; j<=m-i; j++)
        {
            cout<<" ";
        }
        cout<<"*";
        for(j=1; j<=2*i-3; j++)
        {
            cout<<" ";
        }
        cout<<"*"<<endl;
    }


    for(j=1; j<=2*m-1; j++)
    {
        cout<<"*";
    }
    cout<<endl;
    return 0;
}



运行结果:

图案6:

#include <iostream>
using namespace std;
int main( )
{
    int i,j,m;
    cout << "请输入所需星号图行数:";
    cin >>m;
    for(i=1; i<=m; i++)
    {
        for(j=1; j<=m-i; j++)
        {
            cout<<" ";
        }
        for(j=1; j<=2*i-1; j++)
        {
            cout<<"*";
        }
        cout<<endl;
    }
    for(i=1; i<=m-1; i++)
    {
        for(j=1; j<=i; j++)
        {
            cout<<" ";
        }
        for(j=1; j<=2*(m-i)-1; j++)
        {
            cout<<"*";
        }
        cout<<endl;
    }
    return 0;
}


运行结果:


 知识点总结:

        无论是编写星号图还是点阵图,都是要先理清什么时候输出空格,什么输出星号。只要理清了思路,编写这类程序就变得简单了。

学习心得:

        说句实话,编写这个程序的时候我就快要崩溃了,完全摸不着头脑。特别是后两个,程序写的更加复杂,后两个都占了我编写这六个程序的大部分时间。但是无论如何,毕竟是我把它们给写出来了。在这里,只想对自己说,加油,you  can  do  it  !!

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值