19 条题解

  • 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
            @ 2026-9-13 9:40:24

            #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; } }

            • 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
                                        标签
                                        递交数
                                        614
                                        已通过
                                        327
                                        上传者