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;
}
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
这该怎么改啊,分数计算器
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 技术专家团-小桥流水 2022-03-30 00:05关注
你的变量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; }
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥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需要配置还是 定时器初始化的问题