zoukankan      html  css  js  c++  java
  • C++第7周任务3输出星号图全解

    求解思路请参考http://blog.csdn.net/sxhelijian/article/details/8059505

    下面是任务http://blog.csdn.net/sxhelijian/article/details/8045279中所有星号图的参考解答。分别只给出一种参考,读者可以写出更多的其他解答。


    (1)

    要输出的是:


    代码:

    #include <iostream>		
    using namespace std;	
    int main( )
    {
    	int i,j,n=6; 
    	for(i=n;i>=1;--i) //一共要输出n行
    	{
    		//输出第i行
    		for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	return 0;	
    }


    (2)

    要输出的是:


    代码:

    #include <iostream>		
    using namespace std;	
    int main( )
    {
    	int i,j,n=6; 
    	for(i=1;i<=n;++i) //一共要输出n行
    	{
    		//输出第i行
    		for(j=1; j<=n-i; ++j) //输出n-i个空格
    			cout<<" ";
    		for(j=1; j<=i; ++j) //输出i个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	return 0;	
    }


    (3)

    要输出的是:


    代码:

    #include <iostream>
    using namespace std;
    int main( )
    {
    	int i,j,n=6; 
    	for(i=n;i>=1;--i) //i由大变小
    	{
    		//输出第i行
    		for(j=1; j<=n-i; ++j) //关键:输出的是n-i个空格
    			cout<<" ";
    		for(j=1; j<=2*i-1; ++j) //关键:输出的是2*i-1个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	return 0;
    }
    


    (4)

    要输出的是:


    代码:

    #include <iostream>		
    using namespace std;	
    int main( )
    {
    	int i,j,n=6; 
    	for(i=1;i<=n;++i) //一共要输出n行
    	{
    		//输出第i行
    		for(j=1; j<=n-i; ++j) //输出n-i个空格
    			cout<<" ";
    		for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	return 0;	
    }


    (5)

    要输出的是:


    代码:这一个稍微麻烦一些在于,第1行和最后一行单独处理,而中间的n-2行则有规律:若干空格、1个星号、若干空格、1个星号

    #include <iostream>		
    using namespace std;	
    int main( )
    {
    	int i,j,n=6; 
    	//输出第一行:n-1个空格和1个星号并换行
    	for(j=1; j<=n-1; ++j) //输出n-i个空格
    		cout<<" ";
    	cout<<"*"<<endl;
    
    	//再输出中间的n-2行
    	for(i=2;i<=n-1;++i) //一共要输出n-2行
    	{
    		//输出第i行
    		for(j=1; j<=n-i; ++j) //输出n-i个空格
    			cout<<" ";
    		cout<<"*";  //再输出一个星号
    		for(j=1; j<=2*i-3; ++j) //然后输出2*i-3个空格
    			cout<<" ";
    		cout<<"*"<<endl; //输出一个星号后本行结束,换行
    	}
    
    	//输出最后一行:2*n-1个星号
    	for(j=1; j<=2*n-1; ++j) 
    		cout<<"*";
    	cout<<endl;
    	return 0;	
    }


    (6)

    要输出的是:


    参考代码:

    #include <iostream>		
    using namespace std;	
    int main( )
    {
    	int i,j,n=6;  //n代表上三角行数
    	//先输出上三角
    	for(i=1;i<=n;++i) //输出n行
    	{
    		//输出第i行
    		for(j=1; j<=n-i; ++j) //输出n-i个空格
    			cout<<" ";
    		for(j=1; j<=2*i-1; ++j) //输出2*i-1个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	//下面输出下三角
    	for(i=1;i<=n-1;++i) //输出n-1行 
    	{
    		//输出第i行
    		for(j=1; j<=i; ++j) //输出i个空格
    			cout<<" ";
    		for(j=1; j<=2*(n-i)-1; ++j) //输出2*i-1个星号
    			cout<<"*";
    		cout<<endl;
    	}
    	return 0;	
    }




      


  • 相关阅读:
    POJ 2891 Strange Way to Express Integers 中国剩余定理解法
    @Repository @Service 和@Autowired 的使用
    POJ 3070 Fibonacci
    无线局域网技术
    第一次ACM赛后总结及感悟
    Subsets II -- LeetCode
    [WebView学习之二]:使用Web Apps 支持不同分辨率屏
    微信公众平台开发新手教程(图文具体解释)
    翻译-In-Stream Big Data Processing 流式大数据处理
    Nginx + FastCgi + Spawn-fcgi + C 架构的server环境搭建
  • 原文地址:https://www.cnblogs.com/hehe520/p/6142687.html
Copyright © 2011-2022 走看看