Определить, является ли число палиндромом - 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
и функция возвращает управление.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д