题解 | #空心正方形图案#

空心正方形图案

https://www.nowcoder.com/practice/72347ee949dc47399186ee183632f303

#include <stdio.h>

void fsjs(int s)
{
    for (int i = 1; i <= s; i++) {           //输出输入数字形成图案的第一行或最后一行
        printf("* ");
    }

}
int main() {
    int a = 0;
    int i = 0;
    int j = 0;
    while (scanf("%d", &a) != EOF) {         //多组输入格式
        if (a >= 3 && a <= 20) {             //判断输入是否在3到20之间
            fsjs(a);                         //输入图案的第一行
            printf("\n");
            for (j = 1; j <= a-2; j++) {     //a-2是因为第一行和最后一行有对应的输出
                printf("*");
                for (int u = 0; u < a-2+a-1; u++) {  //a-2总数减去第一和最后一行+a-1输出空格个数
                    printf(" ");                        
                }
                printf("*");
                printf("\n");
            }
            fsjs(a);                                //输出最后一行
            printf("\n");
        }
        else {                                    // 否则
            printf("输入错误,请重新输入\n");
        }
    }
    return 0;
}

全部评论

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务