现在再来看那些当初觉得困难的东西,经常都会一笑而过。
图1:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
for(int k=1;k<=n;k++)
{
cout<<"*";
}
cout<<endl;
}
}
b.运行截图:
图2:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=2*i-1;j++)
{
cout<<"*";
}
cout<<endl;
}
}
b.运行截图:
图3:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
char c='A';
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
for(int k=1;k<=2*i-1;k++)
{
cout<<c;
}
cout<<endl;
c++;
}
}
b.运行截图:
图4:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
char c='A';
cin>>n;
for(int i=n;i>=1;i--)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
for(int k=1;k<=2*i-1;k++)
{
cout<<c;
c++;
}
cout<<endl;
}
}
b.运行截图:
图5:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
//正向前n行
for(int i=n;i>=1;i--)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
char c='A';
//正向
for(int k=1;k<=i;k++)
{
cout<<c;
c++;
}
c-=2;
for(int k=1;k<=i-1;k++)
{
cout<<c;
c--;
}
cout<<endl;
}
//反向n-1行
for(int i=2;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
char c='A';
for(int k=1;k<=i;k++)
{
cout<<c;
c++;
}
c-=2;
for(int k=1;k<=i-1;k++)
{
cout<<c;
c--;
}
cout<<endl;
}
}
b.运行截图:
图6:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
//正向
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
for(int k=1;k<=2*i-1;k++)
{
cout<<"*";
}
cout<<endl;
}
//反向
for(int i=n-1;i>=1;i--)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
for(int k=1;k<=2*i-1;k++)
{
cout<<"*";
}
cout<<endl;
}
}
b.运行截图:
延展延伸——空心三角形:
a.源码:
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n-i;j++)
{
cout<<" ";
}
if(i==1||i==n)
{
for(int k=1;k<=2*i-1;k++)
{
cout<<"*";
}
cout<<endl;
}
else
{
for(int k=1;k<=2*i-1;k++)
{
if(k==1||k==2*i-1)
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}
}
}
b.运行截图:
核心就是考虑两点:
1.行数和空格。
2.每行的输出规律。