C++上机报告 编程序输出各种星号图

上机内容:编程序输出各种星号图

上机目的:锻炼分析问题的能力

我的程序:

/*    
* 程序的版权和版本声明部分:    
* Copyright (c) 2011, 烟台大学计算机学院    
* All rights reserved.    
* 文件名称:01.cpp    
* 作    者:陆文飞    
* 完成日期:2012 年 10 月 02 日    
* 版 本 号:v1.0    
* 对任务及求解方法的描述部分:   
* 输入描述:无    
* 问题描述:熟悉C++循环结构   
* 程序输出:看运行结果    
* 问题分析:略   
* 算法设计:略    
*/        
#include <iostream>
using namespace std;
int main()
{
	int i,j,n;
	cout<<"请输入n值:"<<endl;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			cout<<"*";
		}
		cout<<endl;      //先打完一行星号再换行
	}
	return 0;
}


#include <iostream>
using namespace std;
int main()
{
	int i,j,n;
	cout<<"请输入n值:"<<endl;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=0;j<=n-i;j++)
		{
			cout<<"*";
		}
		cout<<endl;
	}
	return 0;
}



#include <iostream>
using namespace std;
int main()
{
	int i,j,n;
	cout<<"请输入n值:"<<endl;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			cout<<" ";
		}                    //打完一行空格接着再打一行星号最后换行
		for(j=0;j<=n-i;j++)
		{
			cout<<"* ";
		}
		cout<<endl;
	}
	return 0;
}


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


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


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



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


 

运行结果:

心得体会:

       这个题目折磨了我好多天了,每一个图形来来回回改了好几次,尤其是空心三角形,幸好每一次都有新的体会,做这样的题就是得有耐心,想不通就在纸上写写,不要一直盯着显示器想。

知识点总结:

       1:我没用调用函数来写,只是一步步的来,所以在写for循环的时候图形是从左到右划还是从上到下画,尤其是菱形;

       2:关于星号的等腰三角形,我们都知道2n-1是奇数,但往往好用星号加空格的惯性思维即”* ”或者在for循环的括号里写下逗号运算符i++,i++i=i+2;

       3:其实就是第2点中的问题吧。写等腰三角形的时候,要考虑第二行是两个还是三个星号的问题,如果用星号加空格,就面临你输入行数n的值减少了一半,即行数减少了一半。

       4:思维要清晰,运行的时候观察左下角的星号是否从最左边开始写的,这就要看for循环的判断条件了。

       5:要看清在哪个位置写上endl

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值