Описать функцию, которая выводит сокращенную дробь - C (СИ)
Формулировка задачи:
6. ф-я принимает два парметра числитель и знаменатель. ф-я выводит сокращенную дробь
Решение задачи: «Описать функцию, которая выводит сокращенную дробь»
textual
Листинг программы
- #include <stdio.h>
- #define llong unsigned long
- void sokr_drob( llong c, llong d)
- {
- llong a = c,
- b = d;
- while (a && b)
- {
- if (a >= b)
- a %= b;
- else
- b %= a;
- }
- a |= b;
- printf("%d\\%d\n",c/a,d/a );
- }
- int main(int argc, char *argv[])
- {
- llong a=123456, b=2066563456;
- sokr_drob(a, b);
- return 0;
- }
Объяснение кода листинга программы
- Включаем файл
для работы с выводом в консоль - Определяем тип данных llong как unsigned long, чтобы представить дробные числа как целые числа с знаком
- Создаем функцию sokr_drob, которая принимает два аргумента типа llong: c и d
- Внутри функции объявляем две переменные a и b, которые будут использоваться в цикле
- Входим в цикл while, который будет выполняться до тех пор, пока a и b не станут равными нулю
- Проверяем, если a больше или равно b, то выполняем операцию деления a на b и присваиваем результат переменной a
- Если a меньше b, то выполняем операцию деления b на a и присваиваем результат переменной b
- После выхода из цикла while, выполняем операцию побитового ИЛИ между a и b и присваиваем результат переменной a
- Выводим сокращенную дробь c/a и d/a с помощью функции printf
- В функции main создаем две переменные типа llong: a и b, и присваиваем им значения 123456 и 2066563456 соответственно
- Вызываем функцию sokr_drob, передавая ей значения a и b в качестве аргументов
- Возвращаем 0 из функции main, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д