Определить, является ли число палиндромом - 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;
- }
Объяснение кода листинга программы
- В функции is_palindrome(int n) определен тип функции и ее параметр n.
- Создана переменная типа char с именем str и размером 100 байт.
- С помощью функции sprintf(str,
%d
, n) в переменную str записывается строковое представление числа n. - Создаются две переменные i и z, где i — счетчик для прохода по строке str, а z — длина строки str.
- В цикле for(; i< z/2; ++i) происходит сравнение символов под адресами str[i] и str[z-i].
- Если символы не равны, то выводится сообщение
Not a palindrome!
и функция возвращает управление. - Если все символы равны, то выводится сообщение
Palindrome
и функция возвращает управление.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д