十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
创新互联公司是网站建设技术企业,为成都企业提供专业的成都网站建设、网站建设,网站设计,网站制作,网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制适合企业的网站。10多年品质,值得信赖!
int main()
{
int zdgys(int x, int y); //求最大公约数
int zxgbs(int x, int y); //求最小公倍数
int a,b,max,min;
scanf("%d %d",a,b);
max = zdgys(a, b); //求最大公约数
min = zxgbs(a, b); //求最小公倍数
printf("最大公约数为%d,最小公倍数为%d",max,min);
return 0;
}
int zdgys(int x, int y)
{
int i,r,t=xy ? x : y;
for (i=1;i=t;i++)
{
if (x%i == 0 y%i == 0)
r=i;
}
return r;
}
int zxgbs(int x, int y)
{
int i,t=xy ? x : y;
for (i = t;;)
{
if (i%x == 0 i%y == 0)
break;
else
i++;
}
return i;
}
具体操作步骤如下:
一、新建一个C语言源程序,使用Visual C++6.0的软件。
二、从键盘中输入两个正整数a和b。代码:printf("please input two number:\n");int a,b;scanf("%d%d",a,b)。
三、取两个数a,b中的较小值存放到变量n中。代码:int n=a;if (nb)n=b。
四、从两个数a和b中的较小数开始逐个减小1,寻找能整除a和b的整数。第一个找到的整数即整数a和b的最大公约数。
五、点击工具栏的如图图标,对源程序编译运行。
六、测试输入4,6,得到最大公约数2。程序是正确的,以测试更多的数。
七、
上面面步骤是编程的思路,给出完整代码,方便复制使用。#includestdio.hvoid main(){printf("please input two number:\n"); int a,b;;scanf("%d%d",a,b);//从键盘输入两个数 int n=a; ;f (nb) n=b;//取两个数中的较小数 for(int i=n;i=1;i--) { if (a%i==0b%i==0) { printf("最大公约数:%d \n",i); break;}}}。
#include stdio.h
int main()
{
int a,b,c,m,t;
printf("请输入两个数:\n");
scanf("%d%d",a,b);
if(ab)
{
t=a;
a=b;
b=t;
}
m=a*b;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公约数是:\n%d\n",b);
printf("最小公倍数是:\n%d\n",m/b);
}
扩展资料
算法思想
利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。
再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。
#includestdio.h是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。
#include
"stdio.h"
int
main()
{
int
d1,d2,r;
printf("输入两个正整数:");
scanf("%d
%d",d1,d2);
do
{
r=d1%d2;
d1=d2;d2=r;
}while(d2!=0);
printf("最大公约数是:%d",d1);
}
//递归法
#include
"stdio.h"
int
fun(int
d1,int
d2)
{
if(d2!=0)
return
fun(d2,d1%d2);
else
return
d1;
}
int
main()
{
int
d1,d2;
printf("输入两个正整数:");
scanf("%d
%d",d1,d2);
printf("最大公约数是:%d",fun(d1,d2));
}
最大公约数c语言编程的常用思路是:按照从大(两个整数中较小的数)到小(到最小的整数1)的顺序求出第一个能同时整除两个整数的自然数,即为所求。
两个数的最大公约数有可能是其中的小数,所以在按从大到小顺序找寻最大公约数时,循环变量i的初值从小数n开始依次递减,去寻找第一个能同时整除两整数的自然数,并将其输出。
需要注意的是,虽然判定条件是i0,但在找到第一个满足条件的i值后,循环没必要继续下去,如,25和15,最大公约数是5,对于后面的4、3、2、1没必要再去执行,但此时判定条件仍然成立,要结束循环只能借助break语句。
具体代码实现:
#includestdio.h
int main()
{
int m,n,temp,i;
printf("Input mn:");
scanf("%d%d",m,n);
if(mn)/*比较大小,使得m中存储大数,n中存储小数*/
{/*交换m和n的值*/
temp=m;
m=n;
n=temp;
}
for(i=n;i0;i--)/*按照从大到小的顺序寻找满足条件的自然数*/
if(m%i==0n%i==0)
{/*输出满足条件的自然数并结束循环*/
printf("The GCD of%d and%d is:%d\n",m,n,i);
break;
}
return 0;
}
c语言求两个数的最大公约数的步骤如下:
1、首先,新建一个C语言源程序,在这里使用的是Visual C++6.0的软件。
2、然后从键盘中直接输入两个正整数a和b。
代码为:
printf("please input two number:\n");
int a,b;
scanf("%d%d",a,b);
3、然后取a,b这两个数中的较小值,存放到变量n中。
代码为:
int n=a;
if (nb)
n=b;
4、接着从两个数a和b中的较小数开始,依次逐个减小1,以便能寻找出可以整除a和b的整数。第一个找到的整数就是整数a和b的最大公约数。
代码:
for(int i=n;i=1;i--)
{
if (a%i==0b%i==0)
{
printf("最大公约数:%d \n",i);
break;
}
}
5、最后点击工具栏上方的图标,之后源程序编译运行,即可对数据进行计算。
以上就是c语言求两个数的最大公约数的步骤了。