|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
//输入两个正整数m和n,求其最大公约数和最小公倍数
int main(){
int m,n,i;
int num_1=m,num_2=n;
printf("请分别输入两个数:");
scanf("%d%d\n",&m,&n);
if(m>=n){
while(n!=0){
i=m%n; //有两个问题,一是为什么输入两个数后得用;才能进行下一步,而不是空格或者enter,二是为什么最小公倍数的结果为0;
m=n;
n=i;
}
printf("最大公约数为%d\n",n);
printf("最小公倍数为%d",num_1*num_2/n);
}else{
while(m!=0){
i=n%m;
n=m;
m=i;
}
printf("最大公约数为%d\n",m);
printf("最小公倍数为%d",num_1*num_2/m);
}
return 0;
}
本帖最后由 isdkz 于 2023-3-22 15:45 编辑
#include <stdio.h>
// 输入两个正整数m和n,求其最大公约数和最小公倍数
int main(){
int m, n, i;
int num_1, num_2; // 改了这里
printf("请分别输入两个数:");
scanf("%d%d", &m, &n);
num_1 = m; // 加了这行
num_2 = n; // 加了这行
if (m >= n){
while (n != 0){
i = m % n;
m = n;
n = i;
}
printf("最大公约数为%d\n", m); // 改了这里
printf("最小公倍数为%d\n", num_1 * num_2 / m); // 改了这里
} else {
while (m != 0){
i = n % m;
n = m;
m = i;
}
printf("最大公约数为%d\n", n);
printf("最小公倍数为%d\n", num_1 * num_2 / n); // 加了 \n
}
return 0;
}
|
|