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