9 solutions
-
17
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; n=n/2+1; for(int i=1;i<=n;i++) { //空格的数目(0,1,2),i(1,2,3) for(int j=1;j<i;j++) { cout<<" "; } //*的数目(5,3,1)=>(6,4,2),i(1,2,3) for(int j=1;j<=2*n-2*i+1;j++) { cout<<"*"; } cout<<endl; } for(int i=2;i<=n;i++) { //空格的数目(2,1,0),i(1,2,3) for(int j=1;j<=n-i;j++) { cout<<" "; } //*的数目(1,3,5),i(1,2,3) for(int j=1;j<=2*i-1;j++) { cout<<"*"; } cout<<endl; } return 0; } -
3
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int h=n/2+1; int x=1,y=h; for(int i=1;i<=h;i++) { for(int j=1;j<=n;j++) { if(abs(i-x)+abs(j-y)<=h-1) { cout<<"*"; } else { cout<<" "; } } cout<<endl; } x=n; for(int i=h+1;i<=n;i++) { for(int j=1;j<=n;j++) { if(abs(i-x)+abs(j-y)<=h-1) { cout<<"*"; } else { cout<<" "; } } cout<<endl; } return 0; } -
1
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int up=n/2+1; int down=n/2; for(int i=1;i<=up;i++) { //左侧空格 for(int j=1;j<i;j++) { cout<<" "; } //倒三角 for(int k=(2*up+1)-(2*i);k>=1;k--) { cout<<"*"; } cout<<endl; } for(int i=1;i<=down;i++) { //左侧空格 for(int j=1;j<=down-i;j++) { cout<<" "; } //正等腰梯形 for(int k=1;k<=2*i+1;k++) { cout<<"*"; } cout<<endl; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int m=n; n=n/2+1; int x=1,y=n; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(abs(i-x)+abs(j-y)<n) cout<<"*"; else cout<<" "; } cout<<endl; } x=m; for(int i=n+1;i<=m;i++) { for(int j=1;j<=m;j++) { if(abs(i-x)+abs(j-y)<n) cout<<"*"; else cout<<" "; } cout<<endl; } return 0; } -
-1
基础代码无需复杂操作:
#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<queue> using namespace std; typedef long long int lint; const int N=1e5+1,inf=0x3F3F3F3F; int n; int main(){ //freopen("1.in","r",stdin); cin>>n; //步骤一:构建一个倒三角 for(int i=n;i>=1;i-=2){ for(int j=1;j<=(n-i)/2;j++) cout<<' '; //需要先填充空格 因为空格 + 当前层的字符数量 = 我们的最外层字符数量 // 所以可以直接求空格数量 由于我们只需要填充左侧的空格,所以还需要除以2 for(int j=1;j<=i;j++ ) cout<<'*';//输出字符 cout<<endl; } //步骤二:构建无顶部的正三角型,方法不变 for(int i=3;i<=n;i+=2){ for(int j=1;j<=(n-i)/2;j++) cout<<' '; for(int j=1;j<=i;j++) cout<<'*'; cout<<endl; } //这里就完成了沙漏的输出,基础代码无需复杂操作 return 0; } -
-1
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int x=1; int y=n/2+1; int c=n/2+1; for(int i=1;i<=c;i++) { for(int j=1;j<=n;j++) { if(abs(i-x)+abs(j-y)<c) cout<<"*"; else cout<<" "; } cout<<endl; } x=n; for(int i=y+1;i<=n;i++) { for(int j=1;j<=n;j++) { if(abs(i-x)+abs(j-y)<c) cout<<"*"; else cout<<" "; } cout<<endl; } return 0; } -
-2
#include<bits/stdc++.h> using namespace std; int main(){ int n; int jishu=1; cin>>n; for(int i=1;i<=n/2+1;i++) { for(int j=1;j<i;j++) { cout<<" "; } for(int j=1;j<=n-2*i+2;j++) { cout<<"*"; } cout<<endl; } for(int i=1;i<=n/2;i++) { for(int j=1;j<=n/2-i;j++) { cout<<" "; } for(int j=1;j<=2*i+1;j++) { cout<<"*"; } cout<<endl; } return 0; } -
-2
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; n=n/2+1; for(int i=1;i<=n;i++) //枚举倒三角的i行 { //1.先输出空格 for(int j=1;j<i;j++) { cout<<" "; } for(int j=2*n+1-2*i;j>=1;j--) { cout<<"*"; } cout<<endl; } for(int i=2;i<=n;i++) { for(int j=1;j<=n-i;j++) { cout<<" "; } for(int j=1;j<=2*i-1;j++) { cout<<"*"; } cout<<endl; } return 0; } -
-2
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; n=n/2+1; for(int i=1;i<=n;i++) { for(int j=1;j<i;j++){ cout<<" "; } for(int j=2*n+1-2*i;j>=1;j--){ cout<<"*"; } cout<<endl; } for(int i=2;i<=n;i++){ for(int j=1;j<=n-i;j++){ cout<<" "; } for(int j=1;j<=2*i-1;j++){ cout<<"*"; } cout<<endl; } return 0; }
- 1
Information
- ID
- 67
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 1
- Tags
- (None)
- # Submissions
- 138
- Accepted
- 65
- Uploaded By