初学者一枚%% 2023-12-23 15:01 采纳率: 86.4%
浏览 5
已结题

关于#c语言#的问题,请各位专家解答!

#include<stdio.h>
#include<stdlib.h>

#define X 20
#define Y 20

char g_Back[X][Y]; //定义一个

void Head(void);
void Frame(void);

int main(void)
{
    Head();
    Frame();
    return 0;

}

void Frame(void)
{
    //对边框进行赋值
    for (int i = 0; i < X; i++)
    {
        for (int j = 0; j < Y; j++)
        {
            if (0 == i || 0 == j || i == X - 1 || j == Y - 1)
                g_Back[i][j] = 1;
            else
                g_Back[i][j] = 0;
        }
    }
    //输出
    for (int i = 0; i < X; i++)
    { 
        printf("\t\t");
        for (int j = 0; j < Y; j++)
        {
            if ( g_Back[i][j] == 1 )
                printf("■");
            else
                printf("  ");  
        }
        putchar('\n');
    }
}
 



void Head(void)
{ 
    printf("\n\n");
    printf("\t\t>>>>>>>> 贪吃蛇 <<<<<<<<<<\n");
    printf("\t\t>>>>>>>> Enter 启动/暂停 <<<<<<<<\n");
    printf("\t\t>>>>>>>> ↑←↓→ 控制方向 <<<<<\n");
    printf("\t\t>>>>>>>> 1 查看历史记录 <<<<<\n");
    printf("\t\t>>>>>>>> Q 重新开始 <<<<<\n");
    printf("\t\t>>>>>>>> tab 切换难度:简单 <<<<<\n");
    printf("\t\t>>>>>>>> 当前长度:0 <<<<<\n");
    printf("\t\t>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<");
}

我这个代码的边框Frame函数输不出一个完整的四边形,帮我把整个代码运行一下。

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-12-23 15:18
    关注

    用\t制表符对齐,如果还不行,你可以自己调整(因为不同平台宽度不同)

    void Head(void)
    { 
        printf("\n\n");
        printf("\t\t>>>>>>>> 贪吃蛇\t\t\t <<<<<\n");
        printf("\t\t>>>>>>>> Enter 启动/暂停\t\t <<<<<\n");
        printf("\t\t>>>>>>>> ↑←↓→ 控制方向\t\t <<<<<\n");
        printf("\t\t>>>>>>>> 1 查看历史记录\t\t <<<<<\n");
        printf("\t\t>>>>>>>> Q 重新开始\t\t <<<<<\n");
        printf("\t\t>>>>>>>> tab 切换难度:简单\t <<<<<\n");
        printf("\t\t>>>>>>>> 当前长度:0 \t\t <<<<<\n");
        printf("\t\t>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<");
    }
    
    

    效果

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月23日