编辑代码

#include <stdio.h>
#include <string.h>

// 定义立方体的初始状态
int up = 1, down = 6, left = 4, right = 3, front = 2, back = 5;

// 向前翻滚90度
void rollForward() {
    int temp = up;
    up = back;
    back = down;
    down = front;
    front = temp;
}

// 向后翻滚90度
void rollBackward() {
    int temp = up;
    up = front;
    front = down;
    down = back;
    back = temp;
}

// 向左翻滚90度
void rollLeft() {
    int temp = up;
    up = right;
    right = down;
    down = left;
    left = temp;
}

// 向右翻滚90度
void rollRight() {
    int temp = up;
    up = left;
    left = down;
    down = right;
    right = temp;
}

// 根据输入序列翻滚立方体
void rollCube(const char *sequence) {
    for (int i = 0; sequence[i] != '\0'; i++) {
        switch (sequence[i]) {
            case 'F':
                rollForward();
                break;
            case 'B':
                rollBackward();
                break;
            case 'L':
                rollLeft();
                break;
            case 'R':
                rollRight();
                break;
            default:
                break; // 忽略无效字符
        }
    }
}

int main() {
    char sequence[101];
    printf("请输入翻滚序列: ");
    scanf("%s", sequence);

    // 根据输入序列翻滚立方体
    rollCube(sequence);

    // 输出结果
    printf("%d\n", up);
    printf("%d\n", down);
    printf("%d\n", left);
    printf("%d\n", right);
    printf("%d\n", front);
    printf("%d\n", back);

    return 0;
}