更多"下面程序通过调用函数模板实现计算两个正整数的最大公约数,把main函数"的相关试题:
[填空题][函数2.1说明]
求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。
[函数2.1]
void func1(int m, int n)
r=m% n;
while(r<>0)
(1) ;
n=r;
(2) ;
return n;
[函数2.2说明]
判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。
[函数2.2]
void func2 ( )
int m, i, k, h=0,leap=1;
printf ( "/n" );
for ( m=101;m<=200;m++ )
(3) ;
for (i=2;i<=k; i++ )
if( (4) )
leap=0;break;
if ( leap )
printf ( "%-4d",m );
(5) ;
if ( h%10==0 )
printf ( "/n" );
leap=1;
printf ( "/n The total is %d", h );
[简答题]下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int a, int b)
int r, t;
if(a<b)
t=a; b=a; a=t;
/******************found*******************/
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);
[简答题]下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
intfun(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=%&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.
[填空题]下面程序的功能是对输入的正整数M和K(M>K)通过调用过程SUB计算并显示S的值,这里
S=K!+(K+1)!+……+M!,请填空:
CLEAR
INPUT "输入K值:" TO K
INPUT " 输入M值:" TO M
①
FOR R = K TO M
DO SUB ②
S = S+A
ENDFOR
" S的值为:" , S
RETURN
③
PARAMETERS P , N
P = 1
FOR L=1 TO N
P = P*L
ENDFOR
RETURN
[填空题]下面程序的功能是求整数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);
[填空题]下面程序的功能是求整数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);
}
[简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) t=x;x=y; y=t;
(1) ;
while(k! =0)
y=x;
(2) ;
k=y%x;
prinff( "% d" ,x);
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
int x,y,z;
(3) ;
for(x=0;str[ x] ! = ’/O’;x + + )
for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +)
if( (5) = =’/0’)
num + +;
break;
return(num);
[填空题]下列程序的功能找出披5、7除,余数为1的最小的5个正整数。请在程序空白处填入适当的语句,使程序可以完成指定的功能。
Private Sub Form_Click( )
Dim Ncount%,n%
Ncount=0
n=1
Do
n=n+1
If______Then
Debug.Print n
Ncount=Ncount+1
End If
Loop Uhdl Ncount=5
End Sub
[填空题]下列程序的功能是找出被5和7除余数为1的最小的5个正整数。请在程序空白处填入适当的语句,使程序可以完成指定的功能。
Private Sub Form_Click( )
Dim Ncount%,n%
Ncount=0
n=0
Do
n=n+1
If______Then
Debug.Print n
Ncount=Ncount+1
End If
Loop Until Ncont=5
End Sub
[填空题]下列程序的功能是找出被5、7除,余数为1的最小的5个正整数,请在程序空白处填入适当的语句,使程序可以完成指定的功能。
Private Sub Form Click( )
Dim Ncount%,n%
Ncount=0
n=1
Do
n=n+1
If______Then
Debug.Print n
Ncount=Ncount+1
End If
Loop Until Ncount
End Sub
[填空题]下面程序的功能是产生10个小于100(不含100) 的随机正整数,并统计其中5的倍数所占比例,但程序不完整,请补充完整。
Sub PR( )
Randomize
Dim a(10)
For i=1 To 10
a(i) =Int( [14] )
If [15] Then k=k+1
Print a(j)
Next j
Print
Print k/10
End Sub
[填空题]下面程序的功能是产生10个小于100(不含100)的随机正整数,并统计其中5的倍数所占比例,但程序不完整,请补充完整。
Sub PR( )
Randomize
Dim a
For j=1 To 10
a(i)=Int( 【 】 )
If 【 】Then k=k+1
Print a(j)
Next j
Print
Print k/10
End Sub