#include <unistd.h>

void my_putchar(char c)
{
    write(1, &c, 1);
}

static void print_char(int x, int y, int i, int j)
{
    if (x == 1 || y == 1) {
        my_putchar('*');
        return;
    }

    if (i == 0 && j == 0) {
        my_putchar('/');
    } else if (i == 0 && j == x - 1) {
        my_putchar('\\');
    } else if (i == y - 1 && j == 0) {
        my_putchar('\\');
    } else if (i == y - 1 && j == x - 1) {
        my_putchar('/');
    }
    else if (i == 0 || i == y - 1 || j == 0 || j == x - 1) {
        my_putchar('*');
    }
    else {
        my_putchar(' ');
    }
}

void rush(int x, int y)
{
    if (x <= 0 || y <= 0) {
        write(2, "Invalid size\n", 13);
        return;
    }
    for (int i = 0; i < y; i++) {
        for (int j = 0; j < x; j++) {
            print_char(x, y, i, j);
        }
        my_putchar('\n');
    }
}

int main(void)
{
    rush(5, 5);
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: