Описать функцию сложения двух дробей, каждая из которых задаётся числителем и знаменателем - C (СИ)
Формулировка задачи:
Описать функцию сложения 2 дробей, каждая из которых задаётся двумя целочисл. значениями: числителем и знаменателем. Функция должна выводить ответ на экран в виде дроби( 2/12 , 3/18 ...). С помощью этой функции найти сумму трёх пар дробей. Помогите пожалуйста и если не затруднит в самой программе добавьте комментарии, что делаете.
Решение задачи: «Описать функцию сложения двух дробей, каждая из которых задаётся числителем и знаменателем»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
float Drob(int, int); //Наша функция
int main()
{
setlocale(LC_ALL, "RUS");
int a, b, i;
float sum = 0;
/*Цикл который проходит 3 раза*/
for(i = 1; i <= 3; i++)
{
printf("Введите числитель и знаменатель для %d дроби: ", i);
scanf("%d %d", &a, &b);
sum += Drob(a, b); // Вызываем функцию, откуда полученный результат мы прибавляем к сумме
printf("%d / %d\n", a, b); /*Выводим на экран дробь*/
}
printf("%\n\nСумма = %.2f", sum); /*Выводим на экран нашу сумму*/
return 0;
}
/*Функция, котоая вычисляет нашу дробь. Получает 2 параметра int и возвращает один параметр типа float*/
float Drob(int a, int b)
{
return (float)a / b;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем функцию Drob(int, int), которая будет вычислять дробь
- В функции main() устанавливаем локаль на русскую
- Задаём переменные a, b, i типа int для ввода числителя и знаменателя дробей и счётчика цикла соответственно
- Задаём переменную sum типа float для хранения суммы дробей
- Запускаем цикл for, который будет выполняться 3 раза
- Внутри цикла запрашиваем у пользователя ввод числителя и знаменателя для каждой дроби
- Вызываем функцию Drob(a, b) и присваиваем её результат переменной sum
- Выводим на экран дробь в формате
a / b - После выполнения цикла выводим на экран сумму дробей в формате
Сумма = %.2f - Возвращаем 0 из функции main(), чтобы указать на успешный конец работы программы
- В функции Drob(int, int) выполняем деление a на b и возвращаем результат в формате float