在C中使用开关向数组添加字符

在C中使用开关向数组添加字符,c,C,我需要有关如何使用开关向数组添加字符(必须使用开关完成)并打印该数组的帮助。 数组中的输出如下所示: 我已经创建了模式:Rook 车 虽然含糊不清,但我会做出一些假设 我假设你所说的“角色”是指下列角色之一:车、骑士、主教 首先,最好将这些“字符”包含在枚举中,例如: enum characters {Rook, Knight, Bishop}; 接下来,按如下方式创建阵列(并可选择对其进行初始化): enum characters my_fancy_array[] = {Rook, Knig

我需要有关如何使用开关向数组添加字符(必须使用开关完成)并打印该数组的帮助。 数组中的输出如下所示:

我已经创建了模式:Rook


虽然含糊不清,但我会做出一些假设

我假设你所说的“角色”是指下列角色之一:车、骑士、主教

首先,最好将这些“字符”包含在枚举中,例如:

enum characters {Rook, Knight, Bishop};
接下来,按如下方式创建阵列(并可选择对其进行初始化):

enum characters my_fancy_array[] = {Rook, Knight, Bishop, Knight, Rook};
您可以通过用户的输入以其他方式填充数组。这样做的想法可能是遍历数组,并以指定的格式打印其内容

最后,您的开关如下所示:

switch (my_fancy_array[i]) {
    case Rook:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);~
        ...
        break;

    case Bishop:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;

    case Knight:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;
    default:
        break;
}
其中
i
是数组的某个索引


一个好的做法是将这些printf封装在函数中。

虽然含糊不清,但我会做一些假设

我假设你所说的“角色”是指下列角色之一:车、骑士、主教

首先,最好将这些“字符”包含在枚举中,例如:

enum characters {Rook, Knight, Bishop};
接下来,按如下方式创建阵列(并可选择对其进行初始化):

enum characters my_fancy_array[] = {Rook, Knight, Bishop, Knight, Rook};
您可以通过用户的输入以其他方式填充数组。这样做的想法可能是遍历数组,并以指定的格式打印其内容

最后,您的开关如下所示:

switch (my_fancy_array[i]) {
    case Rook:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);~
        ...
        break;

    case Bishop:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;

    case Knight:
        printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
        ...
        break;
    default:
        break;
}
其中
i
是数组的某个索引


一个很好的做法是将这些printf封装到函数中。

您已经有了一些非常酷的模式,但不清楚您想要的是哪种数组或开关语句。请提供一份表格,说明您正在尝试做什么,以及您的困境。否则,就什么样的数组/开关实际上对您有帮助而言,这几乎是猜测。@ggorlen字符,开关中必须有4个格,每个格1个,例如,应该是King的case'K',您如何区分骑士和国王?答案显示了
enum
的用法,您也可以使用它来索引数组,例如片段的名称。@WeatherVane它不一定是K,它可以是任何其他字符,如果您愿意,您可以使用A、B、C、D,我所需要的就是使用switch向数组添加模式。您有一些非常酷的模式,但目前还不清楚您要寻找哪种类型的数组或开关语句。请提供一份表格,说明您正在尝试做什么,以及您的困境。否则,就什么样的数组/开关实际上对您有帮助而言,这几乎是猜测。@ggorlen字符,开关中必须有4个格,每个格1个,例如,应该是King的case'K',您如何区分骑士和国王?答案显示了
enum
的用法,您也可以使用它来索引数组,例如片段的名称。@WeatherVane它不一定是K,它可以是任何其他字符,如果您愿意,您可以使用A、B、C、D,我只需要使用SwitchYeah向数组添加模式,这是可行的,但我不能像这张照片那样按顺序添加它们,一行似乎总是消失是的,这是可行的,但我不能像这张照片那样按顺序添加它们,一行似乎总是消失