Поиск палиндрома на интервале от 0 до 100 - C (СИ)
Формулировка задачи:
Подскажите составил программу должна искать на интервале от 0 до 100 палиндром , условия правильные задал ,
, где ошибка ? не как не найду
#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
int i,n, r = 0, temp;
int D[100];
for (i=0; i<100; i++)
{
D[i]=i;
}
for (i=0 ; i<100; i++)
{
printf("%d\n", D[i]);
}
for (i=0; i<100; i++)
{
temp = D[i];
while( temp != 0 )
{
r = r * 10;
r = r + temp%10;
temp = temp/10;
}
if ( D[i] == r )
{
printf("%d is a palindrome number.\n", D[i]);
}
}
return 0;
}Решение задачи: «Поиск палиндрома на интервале от 0 до 100»
textual
Листинг программы
#include <stdio.h>
int main(void) {
int i, n, m;
for ( i = 0; i < 100; ++i )
for ( n = i, m = 0; n || ( m == i && printf("%d\n", m) && 0 ); m = m * 10 + n % 10, n /= 10 )
;
return 0;
}
Объяснение кода листинга программы
В этом коде на языке C выполняется поиск палиндрома на интервале от 0 до 100.
- Первая строка объявляет три переменные: i, n и m типа int.
- Второй блок кода - это два вложенных цикла. Первый цикл идет от 0 до 100, а второй - от i до 0. Переменная m инициализируется как 0.
- Внутри второго цикла происходит проверка условия, которое включает в себя два случая:
- Если n равно 0, то это означает, что число палиндром, и его нужно вывести на экран с помощью функции printf.
- Если m равно i, то это означает, что число палиндром, и его нужно вывести на экран с помощью функции printf, а затем прервать цикл с помощью оператора break.
- Третий блок кода - это операторы, выполняющиеся после завершения второго цикла.
- Последняя строка говорит о том, что функция main() завершена, и возвращает 0, что означает успешное выполнение программы.