TOPIC

Código com erro de 10%

jmblacerda asked 6 years ago

Esse código está com 10% de erro, só não sei onde está o erro.

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

char verifica(int resposta[])
{
    int eh = 9, marcadas = 0;

    int i;
    for(i=0;i<5;i++)
    {
        if(resposta[i] <= 127){
            if(marcadas != 0)
                eh = 6;

            else eh = i;
            marcadas = marcadas + 1;
        }
    }

    if(eh == 6)
        return ('*');

    else
    {
        for(i=0;i<5;i++)
        {
            if(eh == i)
                return ('A' + i);
        }
    }
}

int main()
{
    int respostas[255][5], digitadas;
    char resposta;

    scanf("%i", &digitadas);
    while(digitadas != 0)
    {
        int i;
        for(i=0;i<digitadas;i++)
        {
            scanf("%i %i %i %i %i", &respostas[i][0], &respostas[i][1], &respostas[i][2], &respostas[i][3], &respostas[i][4]);
        }

        for(i=0;i<digitadas;i++){
            resposta = verifica(respostas[i]);
            printf("%c\n", resposta);
        }

        scanf("%i", &digitadas);
    }

    return 0;
}

Remember not post solutions. Your post may be reviewed by our moderators.

  • lfvtrivelatto replied 6 years ago

    Quando todos os quadrados são brancos (os 5 valores são maiores que 127) sua função verifica chega ao fim sem fazer o retorno (ou seja, o retorno será algum lixo). Nesse caso também deve retornar '*'.