C语言最后还要一个换行符。一开始漏了一直提示格式错误

#include<stdio.h>
int main(){
    int n,i,j;
    while(scanf("%d",&n)!=EOF){
        printf("*\n");
        for(i=0;i<n-2;i++){
            for(j=0;j<n;j++){
                if(j==0||j==i+1){
                    printf("* ");
                }else{
                    printf("  ");
                }
            }
            printf("\n");
        }
        for(i=0;i<n;i++){
            printf("* ");
        }
        printf("\n"); 
    }
}
while True:
    try:
        n=int(input())
        print('*')
        for i in range(1,n-1):
            print('* '+'  '*(i-1)+'*')
        print('* '*n)
    except:
        break