空心正方形图案:题目链接
#includeint main() { int n=0; while(scanf("%d",&n)!=EOF) { for(int i=0;i if(i==0||i==n-1) { for(int j=0;j printf("* "); } printf("n"); } else { printf("*"); for(int j=0;j<2*n-3;j++) { printf(" "); } printf("*"); printf("n"); } } } }
该题需要注意的是,多组输入整形,那我们要用一个循环scanf来接收,scanf和getchar一样,没东西接收就返回一个-1(EOF)
然后就是除了第一行和最后一行,中间的空格是(n-1)+(n-2)=2n-3个
n-1是原本两*之间的空格数,n-2是原本 *的位置变成的空格。



