Определить, является ли заданное число палиндромом - C (СИ)
Формулировка задачи:
совсем не понимаю принцип решения...
Решение задачи: «Определить, является ли заданное число палиндромом»
textual
Листинг программы
#include <iostream>
using namespace std;
int main(){
char chislo[50];
cin>>chislo;
for (int i = 0; chislo[i] != '\0'; i++) {
if (chislo[i] != chislo[strlen(chislo)-1-i]) {
cout<<"NO";
system("pause");
return 1;
}
}
cout<<"YES";
system("pause");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода и строками.
- Объявление переменной типа int для хранения результата выполнения программы.
- Объявление массива символов типа char с длиной 50 для хранения числа в виде строки.
- Ввод числа с помощью оператора cin и сохранение его в массиве chislo.
- Проверка на палиндром с помощью цикла for, который будет выполняться до тех пор, пока не будет достигнут конец строки (до символа '\0').
- Внутри цикла проверяется, является ли текущий символ нечетным, и если да, то сравнивается с его зеркальным отображением (параллельно с последним символом строки).
- Если символы не совпадают, то выводится сообщение
NO, программа приостанавливается с помощью функции system(pause) и возвращается 1. - Если все символы совпадают, то выводится сообщение
YES, программа приостанавливается с помощью функции system(pause) и возвращается 0.