C++第7周任务3-输出星号图全解

简介: 求解思路请参考http://blog.csdn.net/sxhelijian/article/details/8059505。下面是任务http://blog.csdn.net/sxhelijian/article/details/8045279中所有星号图的参考解答。分别只给出一种参考,读者可以写出更多的其他解答。(1)要输出的是:代码:#include <iostrea

求解思路请参考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;	
}




  


目录
相关文章
|
20天前
|
存储 算法 Java
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
67 0
|
20天前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
62 2
|
3月前
|
网络协议 C++
C++异步网络库workflow入门教程(1)HTTP任务
创建任务方法原型 在workflow中所有的客户端任务都放在`WFTaskFactory`工厂类中 + `url:`请求的http url + `redirect_max:`表示最大重定向次数。如果在请求过程中遇到重定向,该参数指定了最多允许重定向的次数。 + `retry_max`:表示最大重试次数。如果请求失败,该参数指定了最多可以重试的次数。 + `callback`:这是一个回调函数的指针,用于处理请求的响应。原型为`using http_callback_t = std::function
62 0
|
11月前
|
C++
【C++11】C++多线程之条件变量,异步启动任务(1)
【C++11】C++多线程之条件变量,异步启动任务(1)
|
C++
时间类-输入和输出(C++版本)
请设计时间类 MYTIME,它包含三个私有数据成员:hour, minute, second,均为整数,分别表示时、分、秒。让我们从这里起步,一步一步地完成一个功能完备的时间类,可以适用于处理任何程序中的时间数据。:时间的输出函数不得影响之后其它数据的输出。
194 0
时间类-输入和输出(C++版本)
|
编译器 C语言 C++
【C++要笑着学】关键字 | 命名空间 | 输入和输出(二)
本章将正式开始 C++ 的学习,将深入浅出地讲解。本篇将以 HelloWorld 开始,以 HelloWorld 结束。通过这段代码,讲解C++中的命名空间和输入与输出。话不多说,让我们开始吧
103 0
【C++要笑着学】关键字 | 命名空间 | 输入和输出(二)
|
编译器 C语言 C++
【C++要笑着学】关键字 | 命名空间 | 输入和输出(一)
本章将正式开始 C++ 的学习,将深入浅出地讲解。本篇将以 HelloWorld 开始,以 HelloWorld 结束。通过这段代码,讲解C++中的命名空间和输入与输出。话不多说,让我们开始吧
117 0
【C++要笑着学】关键字 | 命名空间 | 输入和输出(一)
|
编译器 C语言 C++
C++程序设计——命名空间、输入&输出、缺省参数
C++程序设计——命名空间、输入&输出、缺省参数
94 0
C++程序设计——命名空间、输入&输出、缺省参数