C语言编程题 ,实现使用ASCII码绘制一个简单的房子。使用ASCII码绘制一个简单的房子可以通过多种方式实现,可以使用printf语句直接输出房子,也可以使用二维数组存储房子的形状并打印,还可以结合转义字符绘制房子等。

1、使用简单的printf语句直接输出房子

最简单的方法就是直接输出构成房子的ASCII字符。

#include <stdio.h>

int main() {
    printf("   ^   \n");
    printf("  / \\  \n");
    printf(" /   \\ \n");
    printf("/_____\\\n");
    printf("|     |\n");
    printf("|_____| \n");
    return 0;
}

2、使用二维数组存储房子的形状并打印

将房子的一部分存储在字符数组中,然后输出整个数组。

#include <stdio.h>

int main() {
    char house[6][10] = {
        "   ^   ",
        "  / \\  ",
        " /   \\ ",
        "/_____\\",
        "|     |",
        "|_____|"
    };
    
    for (int i = 0; i < 6; i++) {
        printf("%s\n", house[i]);
    }

    return 0;
}

3、通过嵌套循环绘制房子

对于更复杂的图形,可以使用嵌套循环来控制输出的字符。

#include <stdio.h>

int main() {
    // 绘制屋顶
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 6 - i; j++) {
            printf(" ");
        }
        for (int k = 0; k < i * 2 + 1; k++) {
            if (k == 0 || k == i * 2) {
                printf("/");
            } else if (i == 3) {
                printf("_");
            } else {
                printf(" ");
            }
        }
        printf("\\\n");
    }

    // 绘制房子主体
    for (int i = 0; i < 2; i++) {
        printf("   |     |\n");
    }
    printf("    |_____|\n");

    return 0;
}

4、使用函数模块化代码,分段绘制房子

将绘制房子的逻辑封装成函数,提高代码的可读性和复用性。

#include <stdio.h>

void drawRoof() {
    printf("   ^   \n");
    printf("  / \\  \n");
    printf(" /   \\ \n");
    printf("/_____\\\n");
}

void drawBody() {
    printf("|     |\n");
    printf("|_____|\n");
}

int main() {
    drawRoof();
    drawBody();
    return 0;
}

5、结合转义字符绘制房子

通过输出ASCII字符和利用转义字符,在控制台上绘制一个简单的房子。

#include <stdio.h>

int main() {
    printf("   %c \n", 94);   // 94是^的ASCII码
    printf("  %c  %c   \n", 47, 92);  // 47是/,92是
    printf("  %c  %c   \n", 47, 92);  // 47是/,92是
    printf(" %c    %c \n", 47, 92);
    printf("%c%c%c%c%c%c%c%c\n", 47, 95, 95, 95, 95, 95, 95, 92);
    printf("%c      %c\n", 124, 124);  // 124是|
    printf("%c%c%c%c%c%c%c%c\n", 124, 95, 95, 95, 95, 95, 95, 124);
    
    return 0;
}

推荐文档

相关文档

大家感兴趣的内容

随机列表