谁会用那个字符数组打印这个程序呢?
程序代码://打印出一个由*围成的空心三角形
/*
我的思路:
4 * 第一行 4个空格1个*
3 *1* 第二行 3个空格1个* + 1个空格1个*
2 * 3 * 第三行 2个空格1个* + 3个空格1个*
1* 5 * 第四行 1个空格1个* + 5个空格1个*
********* 最后一行 三角形*个数= 行数X2-1 9个*
下面是我自己写的,我是新手,所以代码可能写得有点多,有点啰嗦,不会优化结构。请各位多多包涵。不过程序准确运行,呵呵
*/
#include <iostream>
using namespace std;
int main()
{
int i,j=0,Lkg=0,Ckg,h=0;
cout<<"请输入三角形*组成的行数:\n";
cin>>h;
Lkg=h-2;//第二行左边的空格个数
Ckg=1;//第二行中间的空格个数
for(i=0;i<h-1;i++) //按照三角形行数,绘出第一行* 号的位置
{
cout<<" ";
}
cout<<"*\n";
for(i=0;i<h-2;i++)
{
for(j=0;j<Lkg;j++) //循环打出左边空格个数
{
cout<<" ";
}
Lkg--;
cout<<"*";
for(j=0;j<Ckg;j++)//循环打出中间空格个数
{
cout<<" ";
}
Ckg=Ckg+2; //中间的空格数后一行比前一行多2个。
cout<<"*\n";
}
for(i=0;i<h*2-1;i++)//绘画出最后一行,也就是三角形的底边。
{
cout<<"*";
}
cout<<endl;
system("pause");
return 0;
}
用for循环嵌套写的,各位请多多指教,有什么可以改良的地方,望大家帮忙指正。
