Вычислить дробь - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно сделать консольную программу в которой вводятся числитель и знаменатель дроби. Выводится: знак, целая часть, сокращенные числитель и знаменатель.

Решение задачи: «Вычислить дробь»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
void znak(int a, int b);
unsigned nod(int a, int b);
 
unsigned nod(int a, int b)
{
    unsigned nod, n1 = abs(a), n2 = abs(b);
    
    for (nod = (n1 < n2) ? n1 : n2; nod > 0; nod--)
        if (!(n1 % nod || n2 % nod)) break;
    return nod;
}
 
void znak(int a, int b)
{
    if ((a>0 && b>0) || (a<0 && b<0)) printf("+");
        else printf("-");
}
 
int main(void)
{
    int ch, zn;
    printf("Input a numerator: "); scanf("%d", &ch);
    printf("Input a denominator: "); scanf("%d", &zn);
    printf("Integer part: %d\n", ch/zn);
    printf("Condensed fraction: ");
    znak(ch, zn);
    printf("%d/%d\n", abs(ch)/nod(ch, zn), abs(zn)/nod(ch, zn));
    getch();
    return 0;
}

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

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