回 帖 发 新 帖 刷新版面

主题:结构分数乘法的错误

利用结构计算分数的乘法的错误  
请各位高手指点



#include<stdio.h>
typedef struct
       {
              int numerator;
              int denominator;
              }FRACTION;
FRACTION getfr(void);
FRACTION multfr (FRACTION fr1,
                 FRACTION fr2);
void printfr(FRACTION fr1,
               FRACTION fr2,
               FRACTION res);
int main(void)
{
    FRACTION fr1;
    FRACTION fr2;
    FRACTION res;
    fr1=getfr();
    fr2=getfr();
    res=multfr(fr1,fr2);
    printfr(fr1,fr2,res);
    return 0;
}
FRACTION getfr(void)
{
  FRACTION fr;
  printf("please enter the number with the form  of x/y:");
  scanf("%d/%d",&fr.numerator,&fr.denominator);
  return (fr);
}
FRACTION multfr(FRACTION fr1,FRACTION fr2)
{
         FRACTION res;
         res.numerator=fr1.numerator*fr2.numerator;
         res.denominator=fr1.denominator*fr2.denominator;
         return(res);
}
void printfr(FRACTION fr1,
               FRACTION fr2,
               FRACTION res)
{
               printf("\nthe result of %d/%d*%d/%dis%d/%d\n",
               fr1.numerator,fr1.denominator,
               fr2.numerator,fr2.denominator,
               res.numerator,res.denominator);
               return;
}

回复列表 (共2个回复)

沙发

//楼主的程序没有错。可以运行,又是空格惹得祸,没事不要乱打空格。
//建议楼主,实现一下,约分比如21/14,以及2/2,如果楼主实现不了,我可以帮忙。
#include<stdio.h>

typedef struct
{
    int numerator;
    int denominator;
}FRACTION;

FRACTION getfr(void);

FRACTION multfr (FRACTION fr1, FRACTION fr2);
void printfr(FRACTION fr1, FRACTION fr2, FRACTION res);

int main(void)
{
    FRACTION fr1;
    FRACTION fr2;
    FRACTION res;
    fr1=getfr();
    fr2=getfr();
    res=multfr(fr1,fr2);
    printfr(fr1,fr2,res);
    return 0;
}

FRACTION getfr(void)
{
    FRACTION fr;
    printf("please enter the number with the form  of x/y:");
    scanf("%d/%d",&fr.numerator,&fr.denominator);
    return (fr);
}

FRACTION multfr(FRACTION fr1, FRACTION fr2)
{
    FRACTION res;
    res.numerator=fr1.numerator*fr2.numerator;
    res.denominator=fr1.denominator*fr2.denominator;
    return(res);
}

void printfr(FRACTION fr1, FRACTION fr2, FRACTION res)
{
    printf("\nthe result of %d/%d*%d/%dis%d/%d\n", fr1.numerator,fr1.denominator, fr2.numerator,fr2.denominator, res.numerator,res.denominator);
}

板凳


谢谢啊    呵呵   厉害

我来回复

您尚未登录,请登录后再回复。点此登录或注册