一、问题及代码
/*
* 文件名称:输出星号图
* 作 者:柏杰芮
* 完成日期:2017 年4 月 21日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:我的第一个C++程序,熟悉程序的编辑、运行过程
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#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;
}
二、运行结果:
三、心得体会:
本来感觉挺难的,后来经过同桌帮助学会了,好开心。
四、知识点总结:
这一个稍微麻烦一些在于,第1行和最后一行单独处理,而中间的n-2行则有规律:若干空格、1个星号、若干空格、1个星号