9 solutions

  • 17
    @ 2024-5-15 14:05:00
    #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
      @ 2025-10-26 13:54:38
      #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
        @ 2025-12-6 14:54:53
        #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
          @ 2025-10-25 19:35:19
          #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
            @ 2025-10-24 16:09:43

            基础代码无需复杂操作:

            #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
              @ 2025-10-24 15:59:00
              #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
                @ 2024-12-7 20:13:01
                #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
                  @ 2024-11-10 13:52:49
                  #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
                    @ 2024-10-26 10:52:12
                    #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