Найти числа, десятичная запись которых есть строго возрастающая или строго убывающая последовательность - C (СИ)
Формулировка задачи:
Решение задачи: «Найти числа, десятичная запись которых есть строго возрастающая или строго убывающая последовательность»
- #include <stdio.h>
- int func(int a)
- {
- int t, t1, t2;
- t1=a%10;
- a/=10;
- t2=a%10;
- if(t1<t2)
- t=1;
- else
- if(t1>t2)
- t=0;
- else
- return 0;
- while(a/10)
- {
- t1=t2;
- a/=10;
- t2=a%10;
- if(t1>=t2 && t==1)
- return 0;
- if(t1<=t2 && t==0)
- return 0;
- }
- return 1;
- }
- int main()
- {
- int N;
- scanf("%d",&N);
- for(int i=10; i<N; i++)
- if(func(i))
- printf("%d\n", i);
- return 0;
- }
Объяснение кода листинга программы
В этом коде определена функция с именем func, которая принимает целое число в качестве входного параметра. Внутри функции происходит деление этого числа на 10 и сохранение остатка в переменной t1. Затем число делится на 10 еще раз, и сохраняется новый остаток в переменной t2. Если t1 меньше t2, то число является возрастающей последовательностью, и переменная t устанавливается равной 1. Если t1 больше t2, то число является убывающей последовательностью, и переменная t устанавливается равной 0. Если t1 равно t2, то число не является ни возрастающей, ни убывающей последовательностью, и функция возвращает 0. Затем в функции начинается цикл while, который продолжается до тех пор, пока число не станет однозначным (делится на 10 без остатка). Внутри цикла происходит обновление t1 и t2, а также проверка условий для определения типа последовательности. Если число является возрастающей последовательностью и t равно 1, или если число является убывающей последовательностью и t равно 0, то функция возвращает 0. В функции main() считывается число N от пользователя. Затем в цикле for выполняется проверка функции func для каждого числа от 10 до N-1. Если функция func возвращает 1, то это число выводится на экран. Код, представленный в этом списке, выполняет следующие действия:
- Включает заголовочный файл stdio.h, который содержит функции ввода-вывода.
- Определяет функцию func с типом int, которая принимает int в качестве аргумента.
- Внутри функции func происходит деление введенного числа на 10 и сохранение остатка в переменной t1.
- Число делится на 10 еще раз, и сохраняется новый остаток в переменной t2.
- Если t1 меньше t2, то переменная t устанавливается равной 1. Если t1 больше t2, то переменная t устанавливается равной 0. Если t1 равно t2, то функция возвращает 0.
- Затем в функции начинается цикл while, который продолжается до тех пор, пока число не станет однозначным.
- Внутри цикла происходит обновление t1 и t2, а также проверка условий для определения типа последовательности.
- Если число является возрастающей последовательностью и t равно 1, или если число является убывающей последовательностью и t равно 0, то функция возвращает 0.
- В функции main() считывается число N от пользователя.
- Затем в цикле for выполняется проверка функции func для каждого числа от 10 до N-1.
- Если функция func возвращает 1, то это число выводится на экран.
- Функция main() возвращает 0, чтобы указать, что она успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д