4 条题解

  • 2
    @ 2025-10-2 17:47:08
    
    #include <iostream>
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        for (int i = 0; i < n / 2; i++)
        {
            for (int j = 0; j < i; j++)
            {
                cout << " ";
            }
    
            cout << "*";
    
            for (int j = n / 2 - 1; j > i; j--)
            {
                cout << " ";
            }
    
            cout << "*";
    
            for (int j = n / 2 - 1; j > i; j--)
            {
                cout << " ";
            }
    
            cout << "*";
    
            cout << endl;
        }
        
        for (int i = 0; i < n; i++)
        {
            cout << "*";
        }
        cout << endl;
    
        for (int i = n / 2 - 1; i >= 0 ; i--)
        {
            for (int j = 0; j < i; j++)
            {
                cout << " ";
            }
    
            cout << "*";
    
            for (int j = 0; j < n / 2 - 1 - i; j++)
            {
                cout << " ";
            }
    
            cout << "*";
    
            for (int j = 0; j < n / 2 - 1 - i; j++)
            {
                cout << " ";
            }
            
            cout << "*";
    
            cout << endl;
        }
        return 0;
    }
    
    
    • 0
      @ 2026-3-18 19:38:32
      #include <stdio.h>
      int main(){
          int n;
          scanf("%d",&n);
          int a[n][n];
          for(int i=0;i<n;i++)
              for(int j=0;j<n;j++)
                  a[i][j]=0;
          for(int i=0;i<n;i++){
              for(int j=0;j<n;j++){
                  if((i==j)||(n/2==i)||(n/2==j)||(i==n-j-1))
                      a[i][j]=1;        
              }
          }
          for(int i=0;i<n;i++){
              for(int j=0;j<n;j++){
                  if(a[i][j]==1)
                      printf("*");
                  else
                      printf(" ");       
              }
              printf("\n");
          }
          return 0;
      }
      
      • 0
        @ 2024-11-5 11:02:04

        #include<bits/stdc++.h> using namespace std; int main() { int n;

        cin>>n;
        
        int mid=n/2+1;
        
        int a[105][105]={0};
        
        for(int i=1; i<=n; i++) //i代表x 
        {
        	for(int j=1; j<=n; j++) //j代表y 坐标(i,j) 
        	{
        		if(i==j)
        			a[i][j]=1;
        		else if(i==mid||j==mid)
        			a[i][j]=1;
        		else if(i+j==n+1)
        			a[i][j]=1; 
        	}
        }
        
        for(int i=1; i<=n; i++)
        {
        	for(int j=1; j<=n; j++)
        	{
        		if(a[i][j]==1)
        			cout<<"*";
        		else
        			cout<<" ";
        	}
        	cout<<endl; //每行结束回撤 
        }
        
        
        return 0;
        

        } /* 0 1 2 3 4 5 6 y(j)

        1 *

        2

        3

        4

        5

        6

        x(i) */

        • -1
          @ 2025-10-2 17:07:28

          注意到米字需要输出两条对角线,一个横列和一个纵列的*,自然联想到使用二维数组来做这道题。

          该有可能因为分给的太少的原因,会变成标红的ac

          #include<stdio.h>
          #include<string.h>
          #include<stdlib.h> 
          #include<math.h>
          
          int main(){
          	int n,x;
              scanf("%d", &n);
              x=(n-1)/2;
              char a[n][n];
              memset(a,' ',sizeof(a));
              int i,j;
              for(i=0;i<n;i++){
              	j=x;
              	a[i][j]='*';
          	}
          	for(j=0;j<n;j++){
          		i=x;
          		a[i][j]='*';
          	}
          	for(i=0;i<n;i++){
          		j=i;
          			a[i][j]='*';
          		
          	}
          	for(i=0;i<n;i++){
          		j=n-1-i;
          			a[i][j]='*';
          		
          	}	
          	for(i=0;i<n;i++){
          		for(j=0;j<n;j++){
          			printf("%c",a[i][j]);
          		}
          		printf("\n");
          	}
              return 0;
          }
          
          • 1

          信息

          ID
          103
          时间
          1000ms
          内存
          256MiB
          难度
          4
          标签
          递交数
          326
          已通过
          160
          上传者