现在再来看那些当初觉得困难的东西,经常都会一笑而过。
图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<<"*";elsecout<<" ";}cout<<endl;}}
}
b.运行截图:
核心就是考虑两点:
1.行数和空格。
2.每行的输出规律。