假设传递给形参x和y的值是24和16,gcd (x,y)函数是求x和y的最大公约数,写出下列函数的运行结果: int lownum ( int x,int y) { printf (“ %d\n”,x * y /gcd (x,y)); return 0; }
举一反三
- gcd (x,y)函数的功能是求x和y的最大公约数,在划线处填写正确的表达式: int gcd ( int x , int y) { if ( y == 0) return x; else return ____________________; }
- 编写用辗转相除法求两个数最大公约数的函数,调用该函数求两个数的最大公约数和最小公倍数。 #include "stdio.h" int gcd(int m,int n) { int r; do {【1】; m=n; n=r; } while(r!=0); return 【2】 ; } main() { int a,b,x,y; scanf("%d%d",&a,&b); x=gcd(【3】); y=a*b/x; /*求a和b的最小公倍数*/ printf("GCD=%d,LCM=%d\n",x,y); }
- 下列函数定义不正确的是( )。 A: int max() {int x,y,z; z=x>y?x:y; return z;} B: int max(x,y){ int z; z=x>y?x:y; return z;} C: int max(){ } D: int max(int x,int y) {int z; z=x>y?x:y; return(z);}
- 以下程序没有语法问题的是() A: B: include<;stdio.h>;int main( ){int x , y = 5 ; printf( "%d\n" , x / y ) ; return 0 ;} C: D: include<;stdio.h>;int main( ){int x = 3 ;y = 5 ; printf( "%d\n" , x / y ) ; return 0 ;} E: F: include<;stdio.h>;int main( ){int x = 3 ,y ; printf( "%d\n" , x / y ) ;y = 5; return 0 ;} G: H: include<;stdio.h>;int main( ){int x = 3 , y = 5 ; printf( "%d\n" , x / y ) ; return 0 ;}
- 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是( )。 A: funa( int *x, int *y){int *p;*p=*x; *x=*y; *y=*p;} B: funb( int x, int y){int p;p=x; x=y; y=p;} C: func (int *x,int *y){*x=*y; *y=*x;} D: fund(int *x, int *y){*x=*x+*y; *y=*x-*y; *x=*x-*y;}