TransWikia.com

Números Palíndromos em C

Stack Overflow em Português Asked by matheusramos43 on February 21, 2021

Preciso criar um algoritmo que verifique se um número é palíndromo ou não. Eu resolvi fazer esse algoritmo usando um número como uma string, porém o programa sempre retorna que os números não são Palíndromos.

char numero[10], numeroInvertido[10];
int i, j;

printf("Digite um numero : ");
scanf("%s",numero);

for (i = 0, j = 0; i < strlen(numero); i++, j++){
    numeroInvertido[j] = numero[i];
}

if (numeroInvertido == numero)
    printf("E um palindromo n");
else
    printf("Nao e um palindromo n");

One Answer

Fiz algumas modificações no seu código, acredito que mesmo depois de resolver a comparação, o programa não estava gerando o número invertido. Tratei esses e aqui está o resultado:

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

int main(int argc, char const *argv[]) {
  char numero[10], numeroInvertido[10];
  int i, j;

  printf("Digite um numero : ");
  scanf("%s", numero);

  for (i = 0, j = strlen(numero) - 1; i < strlen(numero); i++, j--) {
    numeroInvertido[j] = numero[i];
  }

  if (!(strcmp(numeroInvertido, numero)))
    printf("E um palindromo n");
  else
    printf("Nao e um palindromo n");

  return 0;
}

Resultados:

Digite um numero : 12321
E um palindromo
Digite um numero : 1234
Nao e um palindromo

Answered by mdmundo on February 21, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP