why021011 2022-03-29 23:41 采纳率: 33.3%
浏览 14

这该怎么改啊,分数计算器

void fenshu::yuefen() { //约分
int comdiv, a, b, temp;
a = abs(fenzi);
b = abs(fenmu);
{
if (a > b) {
temp = a % b;
while (temp != 0) {
int t;
t = temp;
a = b;
b = t;
temp = a % b;
}
comdiv = b;
}
if (a == b) {
comdiv = a;
}
if (a < b) {
temp = b % a;
}
while (temp != 0) {
int t;
t = temp;
b = a;
a = t;
temp = b % a;
}
}
fenzi /= comdiv;
fenmu /= comdiv;
}

img

  • 写回答

1条回答 默认 最新

  • 关注

    你的变量fenzi、fenmu这些都是从哪里来的,类的成员变量吗?
    报错是因为temp在a==b的时候没有被赋值,是未初始化的变量,在while (temp != 0)这里可能会出错。
    代码修改如下:

    void fenshu::yuefen() { //约分
        int comdiv, a, b, temp;
        a = abs(fenzi);
        b = abs(fenmu);
        {
            if (a > b) {
                temp = a % b;
                while (temp != 0) {
                    int t;
                    t = temp;
                    a = b;
                    b = t;
                    temp = a % b;
                }
                comdiv = b;
            }
            else if (a == b) {
                comdiv = a;
            }
            else if (a < b) {
                temp = b % a;
                while (temp != 0) {
                    int t;
                    t = temp;
                    b = a;
                    a = t;
                    temp = b % a;
                }
                comdiv = a;
            }
            
        }
        fenzi /= comdiv;
        fenmu /= comdiv;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月29日

悬赏问题

  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥20 数电设计提问求帮助,出租车计费器
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题
  • ¥15 要用 STM8L050J3M3TR 输出1路PWM 没有输出 不知道是不是 复用IO需要配置还是 定时器初始化的问题