TOPIC

90% Errado

Cayo Da Silva Lima asked 3 years ago

O meu codigo passou em todos os casos de teste que eu realizei mas deu 90% errado... não entendi literalmente. alguém que ja fez poderia da uma olhada pra ver oque que eu possa esta errando?

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

char nome[301], tele[301];
int i;

char retortel(char x);

int main()
{
    while(scanf("%s", nome) != EOF)
    {
        for(i = 0; i < strlen(nome); i++)
        {
            tele[i] = retortel(nome[i]);
        }
        for(i = 0; i < strlen(nome); i++)
        {
            if(tele[i] == ',');
            else printf("%c", tele[i]);
        }
        tele[0] = '\0';
        nome[0] = '\0';
        puts("");
    }
    return 0;
}

char retortel(char x)
{
    if(x == 'A' || x == 'B' || x == 'C') return '2';
    else if(x == 'D' || x == 'E' || x == 'F') return '3';
    else if(x == 'G' || x == 'H' || x == 'I') return '4';
    else if(x == 'J' || x == 'K' || x == 'L') return '5';
    else if(x == 'M' || x == 'N' || x == 'O') return '6';
    else if(x == 'P' || x == 'Q' || x == 'R' || x == 'S') return '7';
    else if(x == 'T' || x == 'U' || x == 'V') return '8';
    else if(x == 'W' || x == 'X' || x == 'Y' || x == 'Z') return '9';
    else if(x == '-') return ',';
    else return x;
}

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

  • Daniel Alves replied 2 years ago

    Coloquei casos de teste no uDebug.

  • Wellerson Salvatore replied 3 years ago

    Não sei se você já respondeu, mas vou tentar ajudar... Seu programa falha com 333_PORTO, 333 ABC e etc. lembrando que no final o problema fala "Qualquer letra deve ser traduzida no número correspondente, quaisquer outros símbolos são simplesmente descartados.", espero ter ajudado. Veja as dicas do alexandre gadelha e wesckeley que eles tem razão no que disseram.

  • Alexandre Gadelha replied 3 years ago

    while(scanf("%s", nome) != EOF)

    Lembrando que os espaços em branco, asteriscos e hashtags também dever ser lidos. No caso do código acima, não há leitura de espaços em branco.

  • Wesckeley Martins replied 3 years ago

    Cayo, seu código falha por exemplo nesse caso de teste:

    333-porto