1 条题解
-
0
空心菱形
这道题意思很明了,也很简单,就是让我们打印一个空心菱形,思路:我们先将程序分层,再观察空格数量,最后输出"*"。 如果你像我一样选择分成两部分,那你就写两个大循环,first循环用来写上面三段,second循环用来写下面的三角形。如果你选择三段,那么,第一个循环写上面的,第二个循环写中间的,第三个循环写last三角。
#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) { cout<<"*"; } else { cout<<"*"; for(int j=1; j<i*2-2; j++) { cout<<' '; } cout<<"*"; } cout<<endl; } for(int i=n-1; i>=1; i--) { for(int j=1; j<=n-i; j++) { cout<<' '; } if(i==1) { cout<<"*"; } else { cout<<"*"; for(int j=1; j<i*2-2; j++) { cout<<' '; } cout<<"*"; } cout<<endl; } }
代码中,因为第一行和最后一行都只有一个"*",所以要进行特判! 空格的数量变化规律需要认真找。
悄悄告诉你一个小秘密,你可以直接将上面的代码复制下来,改一下循环就可以了
- 1
信息
- ID
- 109
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 8
- 标签
- 递交数
- 15
- 已通过
- 7
- 上传者