Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình so sánh hai phân số trong C


Cho hai phân số với một số tử số1 và tử số2 và mẫu số1 và mẫu số2 làm mẫu số tương ứng của chúng, nhiệm vụ là so sánh cả hai phân số và tìm ra phân số lớn hơn. Giống như chúng ta có phân số 1/2 và 2/3 và phân số cao hơn là 2/3 vì giá trị của 1/2 là 0,5 và giá trị của 2/3 là 0,66667 cao hơn.

Đầu vào

first.nume = 2, first.deno = 3
second.nume = 4, second.deno = 3

Đầu ra

4/3

Giải thích

2/3 = 0.66667 < 4/3 = 1.33333

Đầu vào

first.nume = 1, first.deno = 2
second.nume = 4, second.deno = 3

Đầu ra

4/3

Phương pháp tiếp cận được sử dụng dưới đây như sau để giải quyết vấn đề

// baadme likhunga

Thuật toán

Start
Declare a struct Fraction with elements
   nume, deno
In function Fraction greater(Fraction first, Fraction sec)
   Step 1→ Declare and Initialize t Y = first.nume * sec.deno - first.deno *
sec.nume
   Step 2→ Return (Y > 0) ? first : sec
In function int main()
   Step 1→ Declare Fraction first = { 4, 5 }
   Step 2→Fraction sec = { 3, 4 }
   Step 3→ Fraction res = greater(first, sec)
   Step 4→ Print res.nume, res.deno
Stop

Ví dụ

#include <stdio.h>
struct Fraction {
   int nume, deno;
};
// Get max of the two fractions
Fraction greater(Fraction first, Fraction sec){
   //check if the result is in negative then the
   //second fraction is greater else first is greater
   int Y = first.nume * sec.deno - first.deno * sec.nume;
   return (Y > 0) ? first : sec;
}
int main(){
   Fraction first = { 4, 5 };
   Fraction sec = { 3, 4 };
   Fraction res = greater(first, sec);
   printf("The greater fraction is: %d/%d\n", res.nume, res.deno);
   return 0;
}

Đầu ra

Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

The greater fraction is: 4/5