|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
|
-
|