一个C语言的题目...求解

yongyuanyouyuhua 2018-04-09 11:13:29
8.有这样一些真分数:其分子和分母都是两位正整数,且分子的个位数与分母的十位数相同,如果把该分数的分子的个位数与分母的十位数同时去掉,所得到的新的分数正好与原分数的值相等,如26,65= =2/5。试编程求出所有满足上述条件的真分数。

错在哪里了》。。求解
#include <stdio.h>
int main(void)
{
int fenzi,fenmu,fzs,fzg,fms,fmg;
for(fenzi=10;fenzi<100;fenzi++)
for(fenmu=10;fenmu<100;fenmu++)
{
fzs = fenzi/10;
fzg = fenzi%10;
fms = fenmu/10;
fmg = fenmu%10;
if((fzg==fms) && (fenzi/fenmu == fzs/fmg))
printf("%d/%d ",fenzi,fenmu);
}

return 0;
}
...全文
1230 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzjxucxx 2018-04-19
  • 打赏
  • 举报
回复
写成fenzi*fmg==fenmu*fzs
xzjxucxx 2018-04-19
  • 打赏
  • 举报
回复
实数不能用==判断
且放青崖 2018-04-19
  • 打赏
  • 举报
回复
兄弟,为啥我感觉你这题目就错啊?我写出来啥也没有啊 #include <stdio.h> int main(void) { int fenzi,fenmu,fzs,fzg,fms,fmg; for(fenzi=10;fenzi<100;fenzi++) for(fenmu=10;fenmu<100;fenmu++) { fzs = fenzi/10; fzg = fenzi%10; fms = fenmu/10; fmg = fenmu%10; if((fmg==0)||(fenzi>=fenmu)) continue; if((fzg==fms)&&(fenzi/fenmu==fzs/fmg)&&(fenzi%fenmu==fzs%fmg)) printf("%d/%d\t",fenzi,fenmu); } return 0; }
赵4老师 2018-04-10
  • 打赏
  • 举报
回复
自信男孩 2018-04-10
  • 打赏
  • 举报
回复
fenzi/fenmu == fzs/fmg
需要考虑是小数的部分,实数的判断相等不能直接比较。
yongyuanyouyuhua 2018-04-10
  • 打赏
  • 举报
回复
引用 4 楼 wldrzx的回复:
(fenzi/fenmu == fzs/fmg)转化一下 (float)fenzi/fenmu == (float)fzs/fmg
懂了,谢谢!!!精确度有问题!
千寻港生惠香 2018-04-10
  • 打赏
  • 举报
回复
(fenzi/fenmu == fzs/fmg)转化一下 (float)fenzi/fenmu == (float)fzs/fmg
千寻港生惠香 2018-04-10
  • 打赏
  • 举报
回复
在 if((fzg==fms) && (fenzi/fenmu == fzs/fmg))上面加if(fmg!=0) 而且你这个程序应该会有丶问题。精确度的问题。
yongyuanyouyuhua 2018-04-10
  • 打赏
  • 举报
回复
引用 1 楼 m0_37245630的回复:
if((fzg==fms) && (fenzi/fenmu == fzs/fmg))这句话里面,需要判断fmg是否为0
加了个fmg!=0还是运行不出来
m0_37245630 2018-04-09
  • 打赏
  • 举报
回复
if((fzg==fms) && (fenzi/fenmu == fzs/fmg))这句话里面,需要判断fmg是否为0

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧