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

空心正方形图案

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;
}

全部评论

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
头像
09-29 16:18
门头沟学院 Java
点赞 评论 收藏
分享
11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务