Buscar

Faça um programa que receba uma palavra ou uma frase e que diga se ele é ou não é um palíndromo.

Para ser uma palíndromo a palavra ou frase deve ser igual inclusive em seu
sentido contrário. Ex: ARARA, REVIVER, SUBI NO ONIBUS

💡 2 Respostas

User badge image

Joao Andre MArtins Dias

int main(int argc, char** argv) {
    int i = 0, j = 0;
    char palavra[20], flag = 1;
    printf("Digite a palavra:\n");
    scanf("%s", &palavra);
    while (palavra[++i] != '\0') {
    }
    i--;

    while (palavra[j] != '\0') {
        if (palavra[j] != palavra[i]) {
            flag = 0;
        }
        j++;
        i--;
    }
    printf("\n %s \n", (flag) ? "palindromo" : "não palindromo");

}

2
Dislike0
User badge image

RD Resoluções

Para palavra:

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

int palin(char [100], int, int);

int main()
{
    int i=0, j=0;
    char pal[100];

    printf("Digite uma palavra: ");
    scanf("%s", &pal);
    j=strlen(pal);
    i=0;
    if(palin(pal, i, j-1)==0)
        printf("\nA palavra nao e palindrome.\n");
    else
        printf("\nA palavra eh palindrome.\n");

    return 0;
}
int palin(char pal[100], int i, int j)
{
    if(j-i<0)
        return 1;
    else
    {
        if(pal[i]!=pal[j])
            return 0;
        else
            return palin(pal, i+1, j-1);
    }
}

 

Para frase:

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

int main()
{
    char frase1[100], frase2[100];
    int i, j, k, tam1, tam2;
    printf("\nDigite a primeira frase: ");
    scanf("\n%[a-zA-Z ]", &frase1);
    printf("\nDigite a segunda frase: ");
    scanf("\n%[a-zA-Z ]", &frase2);
    tam1=strlen(frase1);
    tam2=strlen(frase2);
    for(i=0;i<tam1;i++)
    {
        if(frase1[i]==32)
        {
            for(j=i;j<tam2;j++)
                frase1[j]=frase1[j+1];
            tam1--;
        }
    }
    printf("\nFrase1: %s", frase1);
    for(i=0;i<tam2;i++)
    {
        if(frase2[i]==32)
        {
            for(j=i;j<tam2;j++)
                frase2[j]=frase2[j+1];
            tam2--;
        }
    }
    printf("\nFrase2: %s", frase2);
    for(i=0;i<tam1;i++)
    {
        if(frase1[i]!=frase2[tam1-1-i])
        {
            printf("\n\nAs frases não são palíndromas.\n\n");
            break;
        }
        else
        {
            if(i==tam1-1)
                printf("\n\nAs frases são palindromas.\n\n");
        }
    }

    system("PAUSE");
    return 0;
}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais