#include<iostream>
using namespace std;
int main()
{
int n;
int j=0;
cout<<"输入行数"<<endl;
cin>>n;
cout<<"星号图在下:"<<endl;
while(j<n)
{
for(int i=j;i<n;i++)
{
cout<<"**";
}
j++;
cout<<endl;
}
return 0;
}
从我这个看,只用了简单的循环,要想控制每一行的星号就要发现其中分配的规律,列出每一行所需要的空格,星号的个数,除此之外,还可以cout一用到底,虽是一种方法但是违背了初衷。换一种方式就有了:
#include<iostream>
using namespace std;
int main()
{
int i,j;
int n;
cin>>n;
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
cout<<" ";
}
for(j=1;j<=2*i-1;j++)
{
cout<<"*";
}
cout<<endl;
}
return 0;
}
对于行和列要想得出正确的图形就要知道他们各行各列中所占个数的规律,规律出来之后用简单的循环操作就可以得出正确的图形了。