18 条题解

  • 2
    @ 2022-1-12 11:52:13
    #include<stdio.h>
    #include<iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
    	int n;
    	cin>>n;
    	n/=2; 
    	for(int i=1;i<=n+1;i++)
    	{
    		for(int j=1;j<=n*2+1;j++)
    		{
    			if(n-i+2<j&&n+i>j)
    			{
    				cout<<" ";
    			}
    			else
    			{
    				cout<<"*";
    			}
    		}
    		cout<<endl;
    	}
    	for(int i=n;i>=1;i--)
    	{
    		for(int j=1;j<=n*2+1;j++)
    		{
    			if(n-i+2<j&&n+i>j)
    			{
    				cout<<" ";
    			}
    			else
    			{
    				cout<<"*";
    			}
    		}
    		cout<<endl;
    	}
    }
    
    • 1
      @ 2026-8-8 13:36:56
      ```cpp
      #include<iostream>//#953-2026.8.8
      #include<cmath>
      #include<iomanip>
      #include <cstring>
      using namespace std;
      int INF=0x3f3f3f3f;
      const int N=100000+10;
      int n;
      int main()
      {
          cin>>n;
          for(int i=1;i<=n;i++)
              cout<<"*";
          //第一行
          cout<<endl;
          for(int i=1;i<=(n-1)/2-1;i++)
          {//上半部分
              for(int k=1;k<=(n-1)/2-i+1;k++)
                  cout<<"*";//左半边*号
              for(int k=1;k<=i-1;k++)
                  cout<<" ";//左半边空格
              cout<<" ";//中间的空格
              for(int k=1;k<=i-1;k++)
                  cout<<" ";//右边的空格
              for(int k=1;k<=(n-1)/2-i+1;k++)
                  cout<<"*";//右边的*号
              cout<<endl;//一行结束
          }
          cout<<"*";
          for(int i=1;i<=n-2;i++)
              cout<<" ";
          cout<<"*"<<endl;//中间一行
          for(int i=(n-1)/2-1;i>=1;i--)
          {
              for(int k=1;k<=(n-1)/2-i+1;k++)
                  cout<<"*";
              for(int k=1;k<=i-1;k++)
                  cout<<" ";
              cout<<" ";
              for(int k=1;k<=i-1;k++)
                  cout<<" ";
              for(int k=1;k<=(n-1)/2-i+1;k++)
                  cout<<"*";
              cout<<endl;
          }//下半部分
          for(int i=1;i<=n;i++)
              cout<<"*";//最后一行
          return 0;
      }
      
      

      代码可能有点复杂

      • 1
        @ 2025-5-19 22:08:05

        #include using namespace std;

        int main() { int n; cin >> n; int mid = (n + 1) / 2;

        for (int i = 1; i <= n; ++i) {
            int stars; // 左右两边星号数量
            int spaces; // 中间空格数量
        
            if (i == 1 || i == n) {
                // 第一行和最后一行全部星号
                stars = n;
                spaces = 0;
            } else if (i <= mid) {
                stars = mid - i + 1;
                spaces = 2 * (i - 2) + 1;  // i=2时空格为1,递增奇数
            } else {
                stars = i - mid + 1;
                spaces = 2 * (n - i - 1) + 1; // 下半部分空格递减奇数
            }
        
            if (spaces == 0) {
                // 中间无空格,整行星号
                for (int k = 0; k < stars; ++k) cout << "*";
            } else {
                // 有空格,先打印左星号
                for (int k = 0; k < stars; ++k) cout << "*";
                // 打印中间空格
                for (int k = 0; k < spaces; ++k) cout << " ";
                // 打印右星号
                for (int k = 0; k < stars; ++k) cout << "*";
            }
            cout << "\n";
        }
        return 0;
        

        }

        • 1
          @ 2023-3-29 18:01:31
          #include <iostream>
          using namespace std;
          int n;
          void one(){
              for(int i=1;i<=n;i++)cout<<"*";
              cout<<endl;
          }
          void md(int x,int k){
              for(int j=1;j<=x;j++)cout<<"*";
              for(int j=1;j<=k;j++)cout<<" ";
              for(int j=1;j<=x;j++)cout<<"*";
              cout<<endl;
          }
          int main(){
              cin>>n;
              one();
              int x=n/2,k=1;
              for(int i=1;i<=n/2;i++){
                  md(x,k);
                  x--;
                  k+=2;
              }
              x+=2;
              k-=4;
              for(int i=1;i<=n/2-1;i++){
                  md(x,k);
                  x++;
                  k-=2;
              }
              one();
          	return 0;
          }
          
          • 0
            @ 2025-12-13 14:11:57
            #include <iostream>
            using namespace std;
            short n;
            int main()
            {
            	cin >> n;
            	short midd = 1,sigg = (n - midd) / 2;
            	for (int i = 1;i <= n;i++)
            		cout << '*';
            	cout << endl;
            	for (int i = 1;i <= (n - 3) / 2;i++)
            	{
            		for (int j = 1;j <= sigg;j++)
            			cout << '*';
            		for (int j = 1;j <= midd;j++)
            			cout << ' ';
            		for (int j = 1;j <= sigg;j++)
            			cout << '*';
            		cout << endl;
            		midd += 2;
            		sigg--;
            	}
            	for (int i = 1;i <= (n - 1) / 2;i++)
            	{
            		for (int j = 1;j <= sigg;j++)
            			cout << '*';
            		for (int j = 1;j <= midd;j++)
            			cout << ' ';
            		for (int j = 1;j <= sigg;j++)
            			cout << '*';
            		cout << endl;
            		midd -= 2;
            		sigg++;
            	}
            	for (int i = 1;i <= n;i++)
            		cout << '*';
            	return 0;
            }
            //虽然不是很简洁,但将就着用吧
            • 0
              @ 2025-5-11 9:50:08
              #include <iostream>
              using namespace std;
              int n;
              void one(){
                  for(int i=1;i<=n;i++)cout<<"*";
                  cout<<endl;
              }
              void md(int x,int k){
                  for(int j=1;j<=x;j++)cout<<"*";
                  for(int j=1;j<=k;j++)cout<<" ";
                  for(int j=1;j<=x;j++)cout<<"*";
                  cout<<endl;
              }
              int main(){
                  cin>>n;
                  one();
                  int x=n/2,k=1;
                  for(int i=1;i<=n/2;i++){
                      md(x,k);
                      x--;
                      k+=2;
                  }
                  x+=2;
                  k-=4;
                  for(int i=1;i<=n/2-1;i++){
                      md(x,k);
                      x++;
                      k-=2;
                  }
                  one();
              	return 0;
              }
              
              
              • -1
                @ 2025-11-9 21:39:14

                #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cout<<""; } cout<<endl; int o=n/2,p=1; for(int i=1;i<n/2;i++){ for(int j=1;j<=o;j++){ cout<<""; } for(int k=1;k<=p;k++){ cout<<" "; } for(int j=1;j<=o;j++){ cout<<""; } o-=1; p+=2; cout<<endl; } o=n-2; for(int i=1;i<=n/2;i++){ for(int j=1;j<=i;j++){ cout<<""; } for(int k=1;k<=o;k++){ cout<<" "; } for(int j=1;j<=i;j++){ cout<<""; } o-=2; cout<<endl; } for(int i=1;i<=n;i++){ cout<<""; } return 0; }

                • -1
                  @ 2025-11-9 21:36:24

                  #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cout<<""; } cout<<endl; int o=n/2,p=1; for(int i=1;i<n/2;i++){ for(int j=1;j<=o;j++){ cout<<""; } for(int k=1;k<=p;k++){ cout<<" "; } for(int j=1;j<=o;j++){ cout<<""; } o-=1; p+=2; cout<<endl; } o=n-2; for(int i=1;i<=n/2;i++){ for(int j=1;j<=i;j++){ cout<<""; } for(int k=1;k<=o;k++){ cout<<" "; } for(int j=1;j<=i;j++){ cout<<""; } o-=2; cout<<endl; } for(int i=1;i<=n;i++){ cout<<""; } return 0; }

                  • -1
                    @ 2024-11-18 22:12:03
                    #include <bits/stdc++.h>
                    using namespace std;
                    int n;
                    int main()
                    {
                    	cin>>n;
                    	for(int i=1;i<=n;i++)cout<<"*";
                    	for(int i=n/2;i>=1;i--){
                    	cout<<endl;
                    	for(int j=1;j<=i;j++)cout<<"*";
                    	for(int j=1;j<=n-2*i;j++)cout<<" ";
                    	for(int j=1;j<=i;j++)cout<<"*";
                    	}
                    	for(int i=2;i<=n/2;i++){
                    	cout<<endl;
                    	for(int j=1;j<=i;j++)cout<<"*";
                    	for(int j=1;j<=n-2*i;j++)cout<<" ";
                    	for(int j=1;j<=i;j++)cout<<"*";
                    	}
                    	cout<<endl;
                    	for(int i=1;i<=n;i++)cout<<"*";
                    	return 0;
                    }
                    
                    • -1
                      @ 2023-6-2 19:53:06
                      #include <iostream>
                      #include <bits/stdc++.h>
                      using namespace std;
                      const int N=1e7+10;
                      const int INF=0x3f3f3f3f;
                      int main()
                      {
                      	int n;
                      	cin>>n;
                      	int zhong=n/2+1,bu=0;
                      	for(int i=1;i<=n;i++)
                      	{
                      		for(int j=1;j<=n;j++)
                      		{
                      			if(i==1 || i==n)
                      			{
                      				cout<<'*';
                      			}
                      			else
                      			{
                      				if(j<=zhong+bu && j>=zhong-bu)
                      			    cout<<' ';
                      			    else
                      			    cout<<'*';
                      			}
                      		}
                      		cout<<"\n";
                      		if(i==1 || i==n)
                      		{
                      			bu=0;
                      		}
                      		else
                      		{
                      			if(i<zhong)
                      		bu++;
                      		if(i>=zhong)
                      		bu--;
                      		}
                      		
                      	}
                      }
                      
                      
                      • -1
                        @ 2023-3-25 18:46:52

                        #include<bits/stdc++.h> using namespace std; int main() { int n,t=1; cin>>n; for(int i=1; i<=n; i++) cout<<""; cout<<endl; for(int i=2; i<=n/2; i++) { for(int j=1; j<=(n-t)/2; j++) cout<<""; for(int j=1; j<=t; j++) cout<<" "; for(int j=1; j<=(n-t)/2;j++) cout<<""; cout<<endl; t+=2; } for(int i=2; i<=n/2+1; i++) { for(int j=1; j<=(n-t)/2; j++) cout<<""; for(int j=1; j<=t; j++) cout<<" "; for(int j=1; j<=(n-t)/2; j++) cout<<""; cout<<endl; t-=2; } for(int i=1; i<=n; i++) cout<<""; return 0; }

                        • -1
                          @ 2023-3-19 20:15:15

                          #include<stdio.h> #include #include<math.h> using namespace std; int main() { int n; cin>>n; n/=2; for(int i=1;i<=n+1;i++) { for(int j=1;j<=n2+1;j++) { if(n-i+2<j&&n+i>j) { cout<<" "; } else { cout<<""; } } cout<<endl; } for(int i=n;i>=1;i--) { for(int j=1;j<=n2+1;j++) { if(n-i+2<j&&n+i>j) { cout<<" "; } else { cout<<""; } } cout<<endl; }

                            1. }
                          • -1
                            @ 2023-3-19 18:05:26
                            #include<stdio.h>
                            #include<iostream>
                            #include<math.h>
                            using namespace std;
                            int main()
                            {
                            	int n;
                            	cin>>n;
                            	n/=2; 
                            	for(int i=1;i<=n+1;i++)
                            	{
                            		for(int j=1;j<=n*2+1;j++)
                            		{
                            			if(n-i+2<j&&n+i>j)
                            			{
                            				cout<<" ";
                            			}
                            			else
                            			{
                            				cout<<"*";
                            			}
                            		}
                            		cout<<endl;
                            	}
                            	for(int i=n;i>=1;i--)
                            	{
                            		for(int j=1;j<=n*2+1;j++)
                            		{
                            			if(n-i+2<j&&n+i>j)
                            			{
                            				cout<<" ";
                            			}
                            			else
                            			{
                            				cout<<"*";
                            			}
                            		}
                            		cout<<endl;
                            	}
                            }
                            
                            • -1
                              @ 2022-1-12 12:09:03
                              #include<stdio.h>
                              #include<iostream>
                              #include<math.h>
                              using namespace std;
                              int main()
                              {
                              	int n;
                              	cin>>n;
                              	n/=2; 
                              	for(int i=1;i<=n+1;i++)
                              	{
                              		for(int j=1;j<=n*2+1;j++)
                              		{
                              			if(n-i+2<j&&n+i>j)
                              			{
                              				cout<<" ";
                              			}
                              			else
                              			{
                              				cout<<"*";
                              			}
                              		}
                              		cout<<endl;
                              	}
                              	for(int i=n;i>=1;i--)
                              	{
                              		for(int j=1;j<=n*2+1;j++)
                              		{
                              			if(n-i+2<j&&n+i>j)
                              			{
                              				cout<<" ";
                              			}
                              			else
                              			{
                              				cout<<"*";
                              			}
                              		}
                              		cout<<endl;
                              	}
                              }
                              
                              • -1
                                @ 2022-1-12 12:02:04
                                #include<stdio.h>
                                #include<iostream>
                                #include<math.h>
                                using namespace std;
                                int main()
                                {
                                	int n;
                                	cin>>n;
                                	n/=2; 
                                	for(int i=1;i<=n+1;i++)
                                	{
                                		for(int j=1;j<=n*2+1;j++)
                                		{
                                			if(n-i+2<j&&n+i>j)
                                			{
                                				cout<<" ";
                                			}
                                			else
                                			{
                                				cout<<"*";
                                			}
                                		}
                                		cout<<endl;
                                	}
                                	for(int i=n;i>=1;i--)
                                	{
                                		for(int j=1;j<=n*2+1;j++)
                                		{
                                			if(n-i+2<j&&n+i>j)
                                			{
                                				cout<<" ";
                                			}
                                			else
                                			{
                                				cout<<"*";
                                			}
                                		}
                                		cout<<endl;
                                	}
                                }
                                
                                • -2
                                  @ 2023-3-25 18:46:11
                                  • -2
                                    @ 2022-1-12 12:02:48
                                    #include <math.h>
                                    #include <stack>
                                    #include <stdio.h>
                                    #include <iostream>
                                    #include <vector>
                                    #include <iomanip>
                                    #include <string.h>
                                    #include <algorithm>
                                    using namespace std;
                                    #define LL long long
                                    const int N = 1e5 + 10;
                                    const int INF = 0x3f3f3f3f;
                                    int main()   
                                    {
                                    	int n;
                                    	cin>>n;
                                    	n/=2;
                                    	for(int i=1;i<=n+1;i++)
                                    	{
                                    		for(int j=1;j<=n*2+1;j++)
                                    		{
                                    			if(n-i+2<j&&n+i>j)
                                    			{
                                    				cout<<" ";
                                    			}
                                    			else
                                    			{
                                    				cout<<"*";
                                    			}
                                    		}
                                    		cout<<endl;
                                    	}
                                    	for(int i=n;i>=1;i--)
                                    	{
                                    		for(int j=1;j<=n*2+1;j++)
                                    		{
                                    			if(n-i+2<j&&n+i>j)
                                    			{
                                    				cout<<" ";
                                    			}
                                    			else
                                    			{
                                    				cout<<"*";
                                    			}
                                    		}
                                    		cout<<endl;
                                    	}
                                    }
                                    
                                    • -3
                                      @ 2024-12-2 21:58:06

                                      #include<bits/stdc++.h> using namespace std; int main(){ int n,left,right; cin>>n; int center=n/2; for(int i=0;i<n;i++){ left=abs(center-i); right=center-left+center; for(int j=0;j<n;j++){ if(j<=left||j>=right){ cout<<'*'; }else{ cout<<" "; } } cout<<endl; } return 0; }

                                      • 1

                                      信息

                                      ID
                                      953
                                      时间
                                      1000ms
                                      内存
                                      128MiB
                                      难度
                                      6
                                      标签
                                      递交数
                                      605
                                      已通过
                                      323
                                      上传者