Определить, является ли число палиндромом - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include<stdio.h>
 main()
 {
    int n,a,a1,b,b1,c,c1;
     printf("vvedite chislo n<=999\n");
     scanf ("%d",&n);
        a=n/100;
        a1=a%100;
        b=a1/10;
        b1=b%10;
        c=b/10; 
        c1=b1%10;
        if (a=a1,c=c1)
        printf ("chislo yavlyaetsya polindromom");
        else printf ("chislo ne yavlyaetsya polindromom");
        getch();
 }

Решение задачи: «Определить, является ли число палиндромом»

textual
Листинг программы
void is_palindrome(int n)
{
    char str[100];
    sprintf(str, "%d", n);
    int i = 0, z = strlen(str);
    for(; i< z/2; ++i)
        {
        if (str[i] != str[z-i])
        {
            fputs("Not a palindrome!", stdout);
            return;
        }
    }
    fputs("Palindrome", stdout);
    return;
}

Объяснение кода листинга программы

  1. В функции is_palindrome(int n) определен тип функции и ее параметр n.
  2. Создана переменная типа char с именем str и размером 100 байт.
  3. С помощью функции sprintf(str, %d, n) в переменную str записывается строковое представление числа n.
  4. Создаются две переменные i и z, где i — счетчик для прохода по строке str, а z — длина строки str.
  5. В цикле for(; i< z/2; ++i) происходит сравнение символов под адресами str[i] и str[z-i].
  6. Если символы не равны, то выводится сообщение Not a palindrome! и функция возвращает управление.
  7. Если все символы равны, то выводится сообщение Palindrome и функция возвращает управление.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы