更多"以下程序求一组整数的最大公约数。试完善程序以达到要求的功能。 #inc"的相关试题:
[单项选择]下面是求最大公约数的函数的首部:
Function gcd(ByVal x As Integer,ByVal y As Integer)As Integer
若要输出8、12、16这3个数的最大公约数,下面正确的语句是( )
A. Print gcd(8,12),gcd(12,16),ged(16,8)
B. Print ged(8,12,16)
C. Print gcd(8),gcd(12),ged(16)
D. Print gcd(8,gcd(12,16))
[填空题]以下函数fun用于求两个整数a和b的最大公约数。
fun(a,B)
int a,b;
{int i,j,m,n;
if(a>B)
{m=a;a=b; 【18】 ;}
i=a;j=b;
while((n= 【19】 )!=0)
{j=i;i= 【20】 ;}
return(i);
}
[填空题]下面程序的功能是求整数m、n的最大公约数,请填空。
main( )
int m,n,r;
scanf("%d,%d",m,n);
if( 【17】 ) r=m;m=n;n=r;
while( 【18】 )
r=m%n;m=n;n=r;
printf("%d",m);
[填空题]下面程序的功能是求整数m、n的最大公约数,请填空。
main( )
int m,n,r;
scanf("%d,%d",&m,&n);
if( 【18】 )r=m;m=n;n=r;)
while( 【19】 )
r=m%n;m=n;n=r;
printf("%d",m);
[单项选择]A、B两数恰含有质因数3和5,它们的最大公约数是75,已知A数有12个约数,B数有10个约数,那么,A、B两数的和等于( )。
A. 2500
B. 3115
C. 2225
D. 2550
[简答题]请编写函数fun,它的功能是:求任意两个正整数的最小公倍数和最大公约数,最小公倍数放在指针变量bei所指的变量中,最大公约数放在指针变量yue所指的变量中。
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
void fun(int m,int n,int*bei,int *yue)
{int s=l,i;
if(m>n){s=m;m=n;n=S;}
for(i=2,s=1;i<m i++)
if((m%i=0)&&(n%i=0))
{
}
*yue=s;
*bei=S*m*n;
}
main( )
{int a,b,beishu,yueshu;
chscr( );
printf("please input a,b:");scanf("%d,%d,"&a,&b);
fun(a,b,&beishu,&yueshu);
printf("a,b beishu:%d/n",beishu);
printf("a,b yueshu:%d/n",Yueshu);
}
[简答题]编写两个函数,分别求两个整数的最大公约数和最小公倍数,然后用主函数调用这两个函数并输出结果,两个整数由键盘输入。
[填空题]如果:A=2×2×5,B=2×3×5,那A、B的最大公约数是(),最小公倍数是().
[填空题]下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#include<stdio.h>
main( )
{int r,m,n;
scanf("%d%d",&m,&n);
if(m<n)______
r=m%n:
while(r){m=n;n=r;r=m%/n};
printf(“%d/n",n);
}
[填空题]下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#include<stdio.h>
main( )
int r,m,n;
scanf("%d%d",&m,&n);
if(m<n)______
r=m%n:
while(r)m=n;n=r;r=m%/n;
printf(“%d/n",n);
[填空题]下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int a,int b)
int r,t:
if(a<b)
/*********found*********/
t=a;b=a;a=t;
r=a%b;
while(r!=0)
a=b;b=r;r=a%b;
/*********found*********/
return(a);
void main( )
int num1,hum2,a;
printf("Input num1 num2:");
scanf("%d%d",&num1,&num2);
printf("num1=%d num2=%d/n/n",num1,num2);
a=fun(num1,num2):
printf("The maximun common divisor is%d/n/n",a);
[简答题]下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和2l,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int a,int b)
int r,t;
if(a<b)
/********found********/
(t=a;b=a;a=t;)
r=a%b;
while(r!=0)
(a=b;b=r;r=a%b;)
/********found********/
return(a);
void main( )
int num1,num2,a;
printf(Input num1 num2:");
scanf("%d%d",&num1,&num2);
printf("num1=%d num2=%d/n/n",num1,num2);
a=fun(num1,num2);
printf("The maximun common divisor is%d/n/n",a);
[填空题]两个正整数分别除以它们的最大公约数,得到2个商的和是18,能确定两个整数相差20.
(1)2个整数的最小公倍数是385; (2)2个整数的最大公约数是5.
[填空题]下面的程序是找出两个正整数a和b,使得a<b、a+ b=99、a和b的最大公约数是3的倍数,并统计满足条件数对的个数。
Option Explicit
Dim a As Integer, b As Integer, n As Integer, c As Integer
Private Function Gcd (ByVal a As Integer, Byval b As Integer) As Integer
do
c=a Mod b: a=b=c
Loop 【13】
Gcd=a
End Function
Private Sub form_ Click( )
n=0
for a= 1 To 49
b= 【14】
c= Gcd (a, b)
if c Mod 3= 0 then
【15】
Print a, b, c
End if
Next a
Print n
End Sub
[单项选择]有以下程序:
int a=4;
int f(int n)
int t=0;static int a=5;
if(n%2) int a=6;t+=a++;
elseint a;7;t+=a++;
return t+a++;
main( )
int s=a,i=0;
for(;i<2;i++)s+=f(i);
printf("%d/n",s);
程序运行后的输出结果是()。
A. 24
B. 28
C. 32
D. 36