Игра на угадывание символов на языке C с использованием одномерного массива и цикла for - PullRequest
0 голосов
/ 09 апреля 2020

Я намерен пропустить определенный символ, используя «оператор продолжения», если итерация («i == [index]»). Я хочу пропустить символ с индексом 5. Пожалуйста, ниже код. Я новичок ie, хотя.

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

int main()
{
    char guess[10]="Programmer";
    char choice;
    printf("Welcome to my guessing game\n");
    printf("===============================\n");
    int i;
    for(i=0;i<10;i++)
    {
         printf("%c", guess[i]);
          if(i==guess[5])
            continue;
    }

    printf("\n\n");
    printf("Guess which letter is missing\n");
    scanf(" %c",&choice);

    if(choice==guess[5])
    {
        printf("Excellent! Good point");
    }else
    {
       printf("Ooops! Wrong answer\n");
    }

    return 0;
}

Ответы [ 3 ]

1 голос
/ 10 апреля 2020

Прежде всего вам нужно написать оператор continue перед инструкцией, которую вы хотите пропустить. Вы хотите пропустить каждый символ, который является одинаковым в предположении [5], или вы хотите пропустить индекс 5?

Если вы пропустите все буквы, которые совпадают с буквой в индексе 5:

for(i=0;i<10;i++)
{
    if(guess[i]==guess[5]) continue;
    printf("%c", guess[i]);
}

Если вы хотите пропустить только букву с индексом 5, попробуйте:

for(i=0;i<10;i++)
{
    if(i==5) continue;
    printf("%c", guess[i]);
}
1 голос
/ 10 апреля 2020

Вы не должны сравнивать с элементом массива, просто сравните с индексом, который вы хотите пропустить.

И вам нужно поставить continue перед операторами, которые вы хотите пропустить. В противном случае письмо уже распечатано и продолжить ничего не помогает.

    for(i=0;i<10;i++)
    {
        if(i==5) {
            continue;
        }
        printf("%c", guess[i]);
    }
1 голос
/ 10 апреля 2020

Вот исправление:

Также обновлен размер массива, как указано выше (он нигде не рассматривается как строка, но лучше безопасен, чем сожалеет).

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

int main()
{
    char guess[12]="Programmer";
    char choice;
    printf("Welcome to my guessing game\n");
    printf("===============================\n");
    int i;
    for(i=0;i<10;i++)
    {
        if( i != 5 )
        {
            printf("%c", guess[i]);
        }
    }

    printf("\n\n");
    printf("Guess which letter is missing\n");
    scanf(" %c",&choice);

    if(choice==guess[5])
    {
        printf("Excellent! Good point");
    }else
    {
       printf("Ooops! Wrong answer\n");
    }

    return 0;
}

Здесь выход:

Output

...