1 条题解

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

    C :

    #include<stdio.h> 
    
    int main(){ 
    	int n,i,j,z,m;
    	scanf("%d",&n);
    	//负责行 
    	for(i = 1;i <= n;i++){
    		//负责空格
    		for(j = 1;j <= n - i;j++){
    			printf(" "); 
    		} 
    		//负责打印大写的字母左边
    		for(m = i - 1;m >= 1;m--){
    			printf("%c",65+m); 
    		} 
    		//负责中间 
    		printf("%c",65) ;
    		//负责右边 
    		for(z=1;z <= i - 1;z++){
    			printf("%c",65+z); 
    		} 
    	
    		//负责换行
    		printf("\n"); 
    		
    	}
    
    	return 0; 
    } 
    

    C++ :

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

    Pascal :

    var 
      i,k,c:char; 
      n:longint; 
    begin 
      readln(n); 
      c:=chr(n+64);//计算出最后一排的最后一个字母 
      for i:='A' to c do//枚举每一排的最后一个字母 
      begin 
           for k:=c downto succ(i) do write(' ');//开头的字母也是该排的最后一个字母,在这个字母前的字母为空格,所以输出空格,succ()用于取后继,可获得i后面一个字母 
        for k:=i downto 'A' do write(k);//从该排的最后一个字母打印到A 
           for k:='B' to i do write(k);//从B打印到该排的最后一个字母,因为A已经打印,而每排只有一个A在中心,所以不要重复打印 
        writeln;//打印完一排,换行 
      end; 
    end.
    

    Java :

    import java.util.Scanner;
    public class Main{
    	public static void main(String[] args) {
    		Scanner scanner=new Scanner(System.in);
    		int n=scanner.nextInt();
    		for(int i=1;i<=n;i++){
    			for(int j=n-i;j>=1;j--){
    				System.out.print(" ");
    			}
    			for(int j=1;j<=2*i-1;j++){
    				char c;
    				if(j<=i){
    					c=(char)(65+i-j);
    				}else{
    					c=(char)(65+j-i);
    				}
    				System.out.print(c);
    			}
    			System.out.println();
    		}
    	}
    }
    
    

    Python :

    import math;
    n = int(input())
    for i in range(1,n+1):
         for j in range(1,n-i+1):
              print(' ',end='')
         for k in range(1,2*i):
              print(chr(int(math.fabs(k-i))+65),end='')
         print()
    
    • 1

    信息

    ID
    91
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    10
    已通过
    3
    上传者