使用C中的Switch将字符添加到数组

时间:2018-12-19 20:52:35

标签: c

我需要有关如何使用SWITCH向数组添加字符的帮助(必须使用switch完成),然后打印该数组。 数组中的输出如下所示:https://imgur.com/a/5405d3u

我已经创建了模式:Rook

观看

printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);`

Knight
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,0,0,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,177,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

Bishop
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,219,219,219,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,219,219,219,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",0,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

King

printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,177,177,0,0,177,177,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,0,0,0,0,177,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,0,0,0,0,0,0,177,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,0,0,0,0,0,0,0,0,177);
printf("%c%c%c%c%c%c%c%c%c%c\n",177,177,177,177,177,177,177,177,177,177);

1 个答案:

答案 0 :(得分:2)

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

我将用“字符”来假设您的意思是以下之一:Rook,Knight,Bishop

首先,将这些“字符”包含在一个枚举中是一个好主意,例如:

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是数组的某个索引。

好的做法是将这些printfs封装在函数中。