Составить программу для умножения дроби на дробь (результат должен быть несократимой дробью) - C (СИ)
Формулировка задачи:
Даны две дроби A/B и C/D (A, B, C, D – натуральные числа). Составить программу для умножения дроби на дробь. Результат должен быть несократимой дробью. C помощью пользовательских функций.
HELP
#include<stdio.h> #include<conio.h> int f(int F,int G) { if(F>G) {int i=G; while(i>1) {if((F%i==0)&&(G%i==0)) i=i-1 else (i=F);} while(i>1) if((F%i==0)&&(G%i==0)) i=i-1; else {return (i)}} return(i);}} int main(){; int A,B,C,D,F,G,i; int k; printf("VVedite A,B,C,D\n"); scanf(" %i%i%i%i",&A,&B,&C,&D); F=A*C; G=B*D; k=f(F,G); F=F/k;G=G/k; printf("F/G=%i",F,G); getch(); return 0; }
Решение задачи: «Составить программу для умножения дроби на дробь (результат должен быть несократимой дробью)»
textual
Листинг программы
#include<stdio.h> #include<conio.h> int f(int F,int G) { int i=1; if(F>G) { for(i=G;i>1;i--) if(F%i==0) return i; }else { for(i=F;i>1;i--) if(G%i==0) return i; } return i; } int main() { int A,B,C,D,F,G; int k; printf("VVedite A,B,C,D\n"); scanf("%i%i%i%i",&A,&B,&C,&D); F=A*C; G=B*D; k=f(F,G); F=F/k;G=G/k; printf("F/G=%i/%i",F,G); getch(); return 0; }
Объяснение кода листинга программы
- Программа начинается с функции f(int F,int G), которая принимает два целых числа F и G.
- Внутри функции происходит итерация циклом от большего числа к меньшему (G к 1).
- На каждой итерации проверяется, делится ли F на текущее значение i без остатка.
- Если F делится на i без остатка, то возвращается это значение i.
- Если F не делится на i без остатка, то цикл продолжается.
- Если цикл завершается без возврата значения, то возвращается 1.
- В функции main() происходит запрос на ввод четырех целых чисел A, B, C и D.
- Затем происходит расчет F и G как произведения A на C и B на D соответственно.
- Результат функции f(F,G) сохраняется в переменной k.
- Затем происходит деление F и G на k.
- Результат выводится на экран в формате
F/G=<результат>
. - Программа завершается вызовом функции getch() и возвратом 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д