#include "stdio.h"
int s1,s2;
void fun(int m,int n)
{
}
void main()
{
void NONO( );//函数声明
int m,n,t;
printf("Enter m,n: \n");
scanf("%d,%d",&m,&n);
if(m>n)
{
t=m;
m=n;
n=t;
}
fun(m,n);
printf("The Highest common divisor of %d and %d is %d\n",m,n,s1);
printf("The Lowest common multiple of %d and %d is %d\n",m,n,s2);
NONO( );
}
void NONO( )
{ int i,m,n;
FILE *fr,*fw;
fr=fopen("D:\\exam\\95200245\\PROGIN.DAT","r");
fw=fopen("D:\\exam\\95200245\\PROGOUT.DAT","w");
for(i=1;i<=3;i++)
{ fscanf(fr,"%d,%d",&m,&n);
fun(m,n);
fprintf(fw,"Maximal Common Divisor Of %d and %d is %d\n",m,n,s1);
fprintf(fw,"Minimal Common Multiple Of %d and %d is %d\n",m,n,s2);}
fclose(fr);
fclose(fw);
}
补全这个程序啊,,谢谢啊
求两个整数m和n的最大公约数和最小公倍数,最大公约数存放在变量s1中,最小公倍数存放在变量s2中
答案:3 悬赏:0
解决时间 2021-02-06 02:08
- 提问者网友:野性
- 2021-02-05 14:58
最佳答案
- 二级知识专家网友:悲观垃圾
- 2021-02-05 15:27
C语言很久没写了,语法都忘了。
给你个思路,假设两个数中n比较小,其实无所谓,只不过循环次数少一点。
int s1=1;//假设最大公约数是1.
for(int i=1;i<=n;i++){
if(m%i==0&&n%i==0){//忘了C语言中有没有取模运算,如果没有还要稍微复杂些
//m、n都能整除i,说明i是m、n的公约数
s1=i;
}
}
这样的思路就是遍历1到n(其实m也可以),得到所有公约数,把最大的那个数赋值给s1,s1即最大公约数。
最小公倍数为两数乘积除以最大公约数,即s2=m*n/s1
给你个思路,假设两个数中n比较小,其实无所谓,只不过循环次数少一点。
int s1=1;//假设最大公约数是1.
for(int i=1;i<=n;i++){
if(m%i==0&&n%i==0){//忘了C语言中有没有取模运算,如果没有还要稍微复杂些
//m、n都能整除i,说明i是m、n的公约数
s1=i;
}
}
这样的思路就是遍历1到n(其实m也可以),得到所有公约数,把最大的那个数赋值给s1,s1即最大公约数。
最小公倍数为两数乘积除以最大公约数,即s2=m*n/s1
全部回答
- 1楼网友:一个很哇塞的汉子
- 2021-02-05 17:10
不知道
- 2楼网友:单身小柠`猫♡
- 2021-02-05 15:59
dim i,m,n,max_,min_ as integer
for i=1 to min(m,n)
if(m mod i=0 and n mod i=0 )then max_=i
next i
min_=(m*n/max_)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯