数据结构:设计实现抽象数据类型“有理数”内容

题目:设计实现抽象数据类型“有理数”

内容:设计并上机实现抽象数据类型“有理数”,有理数的基本操作包括:两个有理数的加、减、乘、除等(包括有理数的创建和输出)。

要求

  1. 有理数的类型,我们可以构造成一个结构体类型,这个结构体由两个整数构成,分别表示有理数的分子和分母。  //int fz; int fm;
  2. 在初始化或创建一个有理数时,可以给出有理数的分子和分母来创建一个有理数;也可以给出一个小数形式的有理数,来计算对应的分子分母来创建一个有理数(可设置一个允许的计算误差)。
  3. 以分数形式创建有理数时,要处理分母为零的异常情况。
  4. 输出不能有类似于4/4、3/6这样的结果数据。
  5. 要有能根据用户输入选择不同运算的菜单选择界面。

#include
#include
struct fraction{
    int molecule;
    int denominator;
}f[2];
int reduction(int m,int n){
    int max,min,i,largest_reduction=1;
    if(m<0)m=abs(m);
    if(n<0)n=abs(n);
    if(m>=n){
        max=m,min=n;
    }
    else{
        max=n,min=m;
    
    }
    for(i=2;i<=min;i++){
        if(max%i==0&&min%i==0){
            max/=i;
            min/=i;
            largest_reduction*=i;
            i=1;
        }
    }
    return largest_reduction;
}


int decimal(float n){
    int time=0;
    while(n-int(n)!=0){
        time++;
        n*=10;
    }
    return time;
}

int bigger(int time,float n){
    int i;
    for(i=0;i

你可能感兴趣的:(数据结构)