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;
}
Chia sẻ bài viết ^^
Other post

All comments [ 0 ]


Your comments