首页 > 解决方案 > 如何在矩阵上显示字母的位置?

问题描述

今天我通过做一个刽子手游戏来练习矩阵。

到目前为止,我已经设法让程序比较用户插入的字母,如果它发现它等于单词的字母之一,它将给出字母在数字中的位置 (0,1, 2,3 等)。

void hangman(char word[],int size){
int counter=0;


while(counter<=7){


    printf("\nInsert a letter: ");
    char letter;
    scanf("%c",&letter);
    fflush(stdin);
    if(letter==word[counter++]){
        printf("\nThe letters position is %d\n",counter-1);
    }else{
        if(letter!=word[counter++]){
            imprimirMatriz(y,4,7);
            printf("\nThat letter is not part of the word!\n");
            printf("Try again.\n");
        }
    }


}

}

现在,到目前为止,一切都很好。它给出了字母的位置,这很棒,但是,我制作了一个一行八列的矩阵,我想做的是让程序显示字母在该矩阵上的位置。例如,如果单词是“although”并且索引字母是“a”,它必须将矩阵打印为“a _ _ _ _ _ _ _”。

你们可以为我提供的任何帮助将不胜感激!

标签: carraysmatrix

解决方案


您可以将数组用于掩码字符串。例子:

given string = 'abcd'
array1 = ['a']['b']['c']['d']
array2 = ['_']['_']['_']['_']

当玩家猜测给定字符串中存在一个字母时,您可以将掩码字符串的值分配给正确的字母或给定字符串的相应值。现在很容易返回被屏蔽的字符串。

示例:玩家猜测字母 'a' -> array1 中 'a' 的真实索引为 0 -> array2[0] = 'a' -> 将 array2 作为字符串返回:'a _ _ _'


推荐阅读