1 条题解

  • 0
    @ 2025-10-10 15:45:26

    C :

    int main(){
             int n,i,j,z;
             scanf("%d",&n);
                      for(i = 1;i <= n+1;i++){
                       for(j=1;j <= n-i+1;j++){
                                printf(" ");
                       }
                      
                       for(z = 1;z <= 2 * i-1;z++){
                                printf("*");
                       }
                       printf("\n");
             
             } 
             
                       
                      for(i = n;i >= 1;i--){
                       
                       for(j = 0;j < n-i+1;j++){
                                printf(" ");
                       }
                       
                       for(z=1;z <= 2 * i - 1;z++){
                                printf("*");
                       }
                       
                       printf("\n");
             }
     
    
             
            
             return n;
    }
    

    C++ :

    #include <iostream>
    using namespace std;
    
    int main(){
    	int i,j,n;
    	cin>>n;
    	n = n + 1;
    	for(i = 1;i <= n - 1;i++){
    		for(j = 1;j <= n - i;j++){
    			cout<<" ";
    		}
    		
    		for(j = 1;j <= 2 * i - 1;j++){
    			cout<<"*";
    		} 
    		cout<<endl;
    	}
    	
    	for(i = n;i >= 1;i--){
    		for(j = 1;j <= n - i;j++){
    			cout<<" ";
    		}
    		
    		for(j = 1;j <= 2 * i - 1;j++){
    			cout<<"*";
    		} 
    		cout<<endl;
    	}
    	return 0;
    }
    

    Pascal :

    program p1;
    var n,i,j,k:integer;
        a:array[1..100] of integer;
    begin
      readln(n);
      for i:=1 to (2*n+1) do
        begin
          if (i mod 2)=1 then a[i]:=((i-1) div 2)
          else a[i]:=((i div 2)-1);
        end;
      for i:=1 to (n+1) do
        begin
          for j:=1 to abs(n+1-i) do
            write(' ');
          for k:=1 to (2*i-1) do
            write('*');
            writeln;
        end;
      for i:=(n+2) to (2*n+1) do
        begin
          for j:=1 to abs(n+1-i) do
            write(' ');
          for k:=1 to (4*n+3-2*i) do
            write('*');
            writeln;
        end;
    end.
    
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    	@SuppressWarnings({ "resource" })
    	Scanner scanner=new Scanner(System.in);
    	int n=scanner.nextInt();
    	for (int a=1;a<=n+1;a++) {
    		for (int b=n;b>=a;b--) 
    			System.out.print(" ");
    		for (int b=1;b<=a;b++)
    			System.out.print("*");
    		for (int b=1;b<a;b++)
    			System.out.print("*");
    		System.out.println(" ");}
    	
    	for (int a=1; a<=n+1; a++){ 
            for (int b=1; b<=a; b++)
    		System.out.print (" ");
    		    for (int c=n; c>=a;c--)
    			System.out.print ("*");
    			for (int c=n; c>a;c--)
    			System.out.print ("*");
       System.out.println ();
    		}
    	}	
    }
    

    Python :

    n = int(input());
    n = n+1
    for a in range (1, n + 1):
        for b in range (1, n - a +1):
            print('',end=' ')
        for c in range (1, 2*a):
            print('*',end='')
        print()
    for i in range(2, n + 2):
        for k in range(2, i+1):
            print(end=' ')
        for x in range(i ,2*n-i+1 ):
            print('*', end = '')
        print()
    
    
    • 1

    信息

    ID
    70
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者