c++编程,运行提示错误

#include<stdio.h>inthcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while(u%v!='0'){r=u%v;... #include <stdio.h>
int hcf(int u,int v)
{int t,r;
if(v>u)
{t=u;
u=v;
v=t;}
while(u%v!='0')
{r=u%v;
v=r;
u=v;
}
return(v);
}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
main()
{
int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
l=lcd(u,v,h);
printf("H.C.F=%d\n",h);
printf("L.C.D=%d\n",l);
}
展开
 我来答
百度网友6eab688
2012-08-15 · TA获得超过4692个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:1042万
展开全部
你这是求最大公约数和最小公倍数的程序吧,最大公约数的部分错了很多,最小公倍数是对的。给你看一下最大公约数的正确代码,就那个循环中的部分
while(v != 0 && u%v!=0) // 要防止v等于0,还有求模是判断不等于数值0,不是字符'0'
{r=u%v;
u = v; // 你两句先反了
v = r;
}
arongustc
科技发烧友

2012-08-15 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7382万
展开全部
这种逻辑一眼看出是很难的。lz应该学习调试。调试比学习语言更重要

虽然不知道直接答案,但是底下的语句是最值得怀疑的
while(u%v!='0')

是不是应该是
while(u%v!=0)

注意,'0'等价于数字48,而不是0
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paderms
2012-08-15 · TA获得超过1389个赞
知道小有建树答主
回答量:927
采纳率:50%
帮助的人:258万
展开全部
代码贴上来成这样了。百度不能保留格式吗?楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一时魔鬼
2012-08-15 · 超过16用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:50.5万
展开全部
main 函数少了返回类型 - -
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逝水南城
2012-08-15 · TA获得超过446个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:169万
展开全部
while(u%v!='0')

语句中‘0’ 是字符常量,而u%v是整形量不相等
应改为
while(u%v != 0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式