Описать функцию, которая выводит сокращенную дробь - 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;
}

Объяснение кода листинга программы

  1. Включаем файл для работы с выводом в консоль
  2. Определяем тип данных llong как unsigned long, чтобы представить дробные числа как целые числа с знаком
  3. Создаем функцию sokr_drob, которая принимает два аргумента типа llong: c и d
  4. Внутри функции объявляем две переменные a и b, которые будут использоваться в цикле
  5. Входим в цикл while, который будет выполняться до тех пор, пока a и b не станут равными нулю
  6. Проверяем, если a больше или равно b, то выполняем операцию деления a на b и присваиваем результат переменной a
  7. Если a меньше b, то выполняем операцию деления b на a и присваиваем результат переменной b
  8. После выхода из цикла while, выполняем операцию побитового ИЛИ между a и b и присваиваем результат переменной a
  9. Выводим сокращенную дробь c/a и d/a с помощью функции printf
  10. В функции main создаем две переменные типа llong: a и b, и присваиваем им значения 123456 и 2066563456 соответственно
  11. Вызываем функцию sokr_drob, передавая ей значения a и b в качестве аргументов
  12. Возвращаем 0 из функции main, чтобы указать, что программа успешно завершилась

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы