
Câu 3.1.b: Cho cấu trúc phân số gồm tử số và mẫu số như sau: struct PS {int tu, mau;}; - Viết hàm tạo phân số - Viết hàm in phân số dạng tu/mau - Viết hàm tính tổng hai phân số, kết quả trả về phân số Viết chương trình sử dụng các hàm trên nhập mảng n phân số, tính và in ra màn hình tổng của chúng.
Thursday, November 27, 2014
Câu
3.1.b: Cho cấu trúc phân số gồm tử số và mẫu số như sau: struct PS {int tu, mau;};
- Viết hàm tạo
phân số
- Viết hàm in
phân số dạng tu/mau
- Viết hàm tính
tổng hai phân số, kết quả trả về phân số
Viết
chương trình sử dụng các hàm trên nhập mảng n phân số,
tính và in ra màn hình tổng của chúng.
// bai1s.cpp : Defines the entry point for the console
application.
// code Dung NV
#include
"stdafx.h"
#include
<stdio.h>
#include
<conio.h>
#include
<math.h>
typedef
struct
{
int
tu,mau;
}ps;
void
taops(ps a[],int i)
{
printf("\nNhap
tu so :
");
scanf("%d",&a[i].tu);
printf("\nNhap
mau so : ");
scanf("%d",&a[i].mau);
}
void
inps(ps a)
{
printf(" %d/%d ",a.tu,a.mau);
}
int
ucln(int x, int
y)
{
x = abs(x);
y = abs(y);
while
(x!=y)
if (x>y) x=x-y; else
y=y-x;
return
x;
}
ps
tongps(ps a,ps b)
{
int
uc;
ps c;
c.tu=a.tu*b.mau+b.tu*a.mau;
c.mau=a.mau*b.mau;
uc=ucln(c.tu,c.mau);
c.tu=c.tu/uc;
c.mau=c.mau/uc;
return
c;
}
ps
tongmangps(int i,ps a[],int n,ps b)
{
b=tongps(b,a[i]);
if
(i==n-1) return b;
else
tongmangps(i+1,a,n,b);
}
int
_tmain(int argc, _TCHAR* argv[])
{
ps x[300],y,z;
int
n,i;
printf("\nnhap
so phan tu mang phan so : ");
scanf("%d",&n);
for
(i=0;i<n;i++)
{
printf("\nnhap phan so thu %d :
",i);
taops(x,i);
inps(x[i]);
}
y.tu=x[0].tu;
y.mau=x[0].mau;
z=tongmangps(1,x,n,y);
inps(z);
getch();
return
0;
}

All comments [ 0 ]
Your comments