PS:PE了两次....又是这种奇怪的输出格式....两个三角形直接有空行..

代码:

#include "stdio.h"
void ou(int n,char a);
void tt(int n,char a);
void ss(int n);
int main(){
    int n,i,flag=0;
    char a;
    while(~scanf("%c",&a)){
        if(a=='@') return 0;
        scanf("%d",&n);
        if(flag++ != 0) puts("");
        ou(n,a);
        getchar();
    }
    return 0;
}
void ou(int n,char a){
    int i,j,k=1;
    for(i=0;i<n-1;i++){    
            if(i==0){
                ss(n-1-i);
                printf("%c\n",a);
                continue;
            } 
            ss(n-1-i);
            printf("%c",a);
            ss(k);
            k+=2;
            printf("%c\n",a);
    }
    tt(2*n-1,a);
    puts("");
//    puts("");
}
void tt(int n,char a){
    for(int i=0;i<n;i++) printf("%c",a);
}
void ss(int n){
    for(int i=0;i<n;i++) printf(" ");
}