对于这个经典的求最大公约数,最小公倍数的C语言程序,我有疑问.
输入两个正整数m和n,求其最大公约数和最小公倍数.
1.程序分析:利用辗除法.
2.程序源代码:
main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
if(num1%num2==0) { temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);
}
麻烦帮我看一下这个程序有没有错,如果有哪里错了.还有,麻烦从第一个IF开始给我写一下每句的注释.
人气:217 ℃ 时间:2020-06-27 02:07:54
解答
main()
{
int a,b,min,max,i,j;
scanf("%d%d",&a,&b);
if(a>b) {
max=b;
min=a;
}else {
max=a;
min=b;
}
for(max=a;i>=1;i--) {
if(a%i==0&&b%i==0) {
printf("最大公约数是%d\n",i);
break;
}
}
for(j=min;;j++) {
if(j%a==0&&j%b==0) {
printf("最小公倍数为%d\n",j);
break;
}
}
}
推荐
猜你喜欢
- 6个不同的球放进4个不同的盒子,每个盒子至少有一个球,有几种方法?
- 小学语文,把下列词语按字母表(音序)重新排列
- 一个水池从里面量得长是8dm,宽是4.5dm,高是3dm,这个水池能装水多少升?如果水池的出水管每分钟能放水600
- 当为英语短语注音标的时候可以用逗号隔开吗?
- ①为什么有的地方一年里有春夏秋冬四季的变化?②为什么有的地方沙海茫茫,有的地方却碧波荡漾?③为什么昔日的海洋如今变成了高耸的山峰?④为什么酷寒的南极大陆沉睡着万顷煤田?⑤为什么有的地方城镇密集,有的地方却人迹罕至?
- They are busy p______ using computers now
- 写作文的意义
- 甲乙两人都骑自行车从A地到B地,甲比乙每小时快3KM,乙比甲早出发20分钟而晚到40分钟,已知甲用了4小时,求AB两地之间的路程