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