永发信息网

c语言求解 用辗转相除法计算并输出a、b的最大公约数。假设a, b是键盘输入的正整数,且在输入时能

答案:1  悬赏:80  手机版
解决时间 2021-11-10 01:39
c语言求解 用辗转相除法计算并输出a、b的最大公约数。假设a, b是键盘输入的正整数,且在输入时能
最佳答案
你是要代码吗?这是我写的,加了注释
#include
void main()
{
char o;
int a,b;
int y(int,int);
int c(int,int);
printf("请输入两个数字!");
scanf("%d,%d",&a,&b);
printf("最大公约数是:%d\n最大公倍数是:%d\n",y(a,b),c(a,b));
do
{
o=getchar();
}while(o!='a');
}
int y(int a,int b)
{
int s;
if(a {
s=b;
b=a;
a=s;
}
while(a%b!=0) //辗转相除的过程
{
s=a%b;
a=b;
b=s;
}
return b;
}
int c(int a,int b) //这个是求最大公倍数,最大公倍数等于两数乘积除以最小公约数
{
int s;
int y(int,int);
s=a*b/y(a,b);
return s;
}追问#include
main()
{
int a,b,i;
printf("please input two number:");
scanf("%d,%d",&a,&b);
for(i=1;a!=0;a=b%a,b=i)
i=a;
printf("这两个数的最大公约数是%d",i);
}这是我写的,我就是不明白最后那个范围干嘛的追答没仔细看你的要求,抱歉,你是想问为什么要那个范围还是怎么实现那个条件?追问为什么要那个条件,只是个假设不要管吗?追答个人猜测这只是让你注意在接受输入时排除一些不合理的输入,又或者降低地点难度(免去排序的步骤,免去大数值计算问题),应该是个假设,写代码时符合它的条件就好了,没什么特殊含义
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从三家店到赵家口汽车站怎么走
广东省中山市东凤镇哪里卖福建三明特产熏鸭脖
神舟笔记本电脑HP860d2硬件升级问题。
求助众大神,line6 HD500怎么恢复出厂设置
tcl手机没网络怎么办
有的男生头上带在头发上的是什么,就是把头发
征服 李丽做过什么对不起梅子的事
郭春美的重要演出
大家有谁知道押ing和in韵的诗歌啊,我需要大
百叶箱里面有什么?
0.25分米比4分之3米 化简比
【求助】为什么要使用不同的球磨罐和磨球?
无损检测工待遇怎么样?
怎么同一个学校有不同代码?
观音灵签解签96 求姻缘的是好签么?谢谢!
推荐资讯
单位旅游不想去,想找旅行社虚开发票可以吗
马姓女孩的一个字好听简单的名字
协议转换器指示灯告警说明?
我爸说他23岁还长高了5厘米。不是说长到18岁
3.2万5%的月利息是多少
兰花老芦头要去掉吗?
如何来管控和分析注塑质量的问题
中国邮政(双龙中心卫生院北)地址好找么,我有
一条绳子,截去3/4米,正好截了3/5米
如何检查车门是否钣金喷漆过
伊莲蔓丽健康工作室在哪里啊,我有事要去这个
健乐多是汤臣倍健的产品吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?