Tổng hợp các bài toán về phân số trong ngôn ngữ C
1. Hàm nhập mảng, xuất mảng phân số
struct phanso{ int tu; int mau; };void nhapmangps(ps a[], int n){ for(int i=0;i<n;i++) { printf(“Nhap phan so a[%d]= “,i); scanf(“%d%d”,&a[i].tu,&a[i].mau); } } void xuatmangps(ps a[], int n){ for(int i=0;i<n;i++) printf(“\n%d/%d”,a[i].tu,a[i].mau); } |
2. Hàm đếm mảng có bao nhiêu phân số nhỏ hơn 1
int dem(ps a[], int n){ int d=0; for(int i=0;i<n;i++) if(a[i].tu < a[i].mau) d=d+1; return d; } |
3. Hàm tính tổng các phân số trong mảng
#include <algorithm>
ps rutgon(ps &m){ |
4. Hàm kiểm tra số lớn nhất và nhỏ nhất trong mảng phấn số
ps lonnhat(ps b, ps c){ ps max; if(b.MS == c.MS){ if(b.TS > c.TS) max=b; else max=c; } if(b.TS == c.TS){ if(b.MS > c.MS) max=c; else max=b; } if (b.TS != c.TS && b.MS != c.MS){ if(b.TS * c.MS > c.TS * b.MS) max=b; else max=c; } return max; } ps lonnhatmangphanso(ps a[], int n){ ps max=a[0]; for(int i=1; i<n;i++) max=lonnhat(a[i],max); return max; } ps nhonhat(ps b, ps c){ ps min; if(b.MS == c.MS){ if(b.TS > c.TS) min=c; else min=b; } if(b.TS == c.TS){ if(b.MS > c.MS) min=b; else min=c; } if (b.TS != c.TS && b.MS != c.MS){ if(b.TS * c.MS > c.TS * b.MS) min=c; else min=b; } return min; } ps nhonhatmangphanso(ps a[], int n){ ps min=a[0]; for(int i=1; i<n;i++) min=nhonhat(a[i],min); return min; } |