输入2个整数,输出它们的最小公倍数和最大公约数。 #include<stdio.h> void main() {int m,n,gbs,gys; scanf("%d,9/6d",m,n); gbs=m; while(______)/*第一空*/ gbs=______;/*第二空*/ gys=______;/*第三空*/ printf("%d %d\n",gbs,gys); }
举一反三
- 输入2个整数,输出它们的最小公倍数和最大公约数#include <stdio.h>void main(){ int m, n,gbs,gys; scanf([input=type:blank,size:4][/input]); for(gbs=m;[input=type:blank,size:4][/input]; gbs=gbs+m); gys=[input=type:blank,size:4][/input] [input=type:blank,size:4][/input] }
- 以下程序是求整数m,n的最大公约数和最小公倍数,请补充完整: int gys(m,n) int m,n; { int t,r; if(m 第一空: m=n 第二空: r=m%n 第三空: n=r 第四空: gys(m,n)
- 递归法求两个数的最大公约数。 函数接口定义: int gys(int m,int n); 其中 m 和 n 都是用户传入的参数。函数用递归法求m 和 n的最大公约数。 #include int gys(int m,int n) { } int main() { int m,n; scanf("%d%d",&m,&n); printf("%d ",gys(m,n)); return 0; } 输入样例: 24 16 输出样例: 8
- 当输入数据:27 63 时,下面程序的运行结果是( )。 #include<stdio.h> int gbs(int a, int b) { int c; a=a>0?a:-a; b=b>0?b:-b; c=a*b; if (c==0) return 0; while (a!=b) if (a>b) a-=b; else b-=a; return c/a; } int gys(int a, int b) { if (a*b==0) return 0; a=a>0?a:-a; b=b>0?b:-b; while (a!=b) if (a>b) a-=b; else b-=a; return a; } void main() { int a,b,c,d; scanf("%d%d",&a,&b); c=gbs(a,b); d=gys(a,b); printf("a=%d b=%d gbs=%d gys=%d ",a,b,c,d); }
- 中国大学MOOC: 下面程序的功能是计算两个整数的( )。#include <stdio.h>int main(){ int m,n,w; scanf("%d,%d",&m,&n); while (n) { w=m; m=n; n=w%n;} printf("%d",m); return 0;}