题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2024-07-28 04:47:26

[简答题][说明] 下面的程序利用递归算法计算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); }

更多"[说明] 下面的程序利用递归算法计算x和y的最大公约数。 [函数"的相关试题:

[简答题][说明]
下面的程序利用递归算法计算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);

[单项选择]

下面程序段实现求最大公约数,请将程序补充完整。
DATA M,N/8,24/
R=MOD(M,N)
30 IF R.NE.0 THEN
M=N
N=L
______
GOTO 30
ENDIF
WRITE(*,*)N
END
答案是()。


A. R=MOD(M,N)
B. R=M/N
C. R=M-N
D. R=M*N
[简答题][函数2.1说明] 下面程序的功能是计算x和y的最小公倍数。 [函数2.1] main( ) { int m,n,d,r; seanf("%d %d",&m,&n); if(m<n) {r=m;m=n;n=r;} (1) ; while (d%n! =0) (2) ; printf("%d/n",d); } [函数2.2说明] 下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。 [函数2.2] #include <stdio.h> main( ) { char c,preChar=’/0’; c = getchar( ); while(c! = ’.’){ if( (3) ) putchar(c); else if(preChar! =’ ’) putchar(c); (4) ; c= (5) ; } }
[简答题][函数2.1说明]
下面程序的功能是计算x和y的最小公倍数。
[函数2.1]
main( )
int m,n,d,r;
seanf("%d %d",&m,&n);
if(m<n) r=m;m=n;n=r;
(1) ;
while (d%n! =0) (2) ;
printf("%d/n",d);[函数2.2说明]
下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。
[函数2.2]
#include <stdio.h>
main( )
char c,preChar=’/0’;
c = getchar( );
while(c! = ’.’)
if( (3) ) putchar(c);
else if(preChar! =’ ’) putchar(c);
(4) ;
c= (5) ;


[填空题]下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。 #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);

[简答题]【说明】 本程序利用非递归算法实现二叉树后序遍历。 【函数】 #include<stdio.h> #include<stdlib.h> typedef struct node{/*二叉树的结点数据结构类型*/ char data; struct node *left; struct node *right; }BTREE; void SortTreelnsert(BTREE **tree, BTREE *s) { if(*tree==NULL)*tree=s; else if(s->data<(*tree)->data) SortTreelnsert( (1) ,s); else if(s->data>=(*tree)->data) SortTreelnsert( (2) ,s); } void TraversalTree(BTREE *tree) { BTREE *stack[1 000],*p; int tag[1000],top=0; p=tree; do{ while(p !=NULL) { stack[++top]=p; (3) ; tag[top]=0; /*标记栈顶结点的左子树已进行过后序遍历*/ } while(top>0&& (4) )/*栈顶结点的右子树是否被后序遍历过*/ { p=stack[top--]; putchar(p->data); } if(top>0)/*对栈顶结点的右子树进行后序遍历*/ { (5) ; tag[top]=1; } }while(top>0); } void PrintSortTree(BTREE *tree) { if(tree !=NULL) { printSortTree(tree->left);
[填空题]下面程序的功能是求整数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( 【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);

[简答题]【说明】
本程序利用非递归算法实现二叉树后序遍历。
【函数】
#include<stdio.h>
#include<stdlib.h>
typedef struct node/*二叉树的结点数据结构类型*/
char data;
struct node *left;
struct node *right;
BTREE;
void SortTreelnsert(BTREE **tree, BTREE *s)

if(*tree==NULL)*tree=s;
else
if(s->data<(*tree)->data)
SortTreelnsert( (1) ,s);
else if(s->data>=(*tree)->data)
SortTreelnsert( (2) ,s);

void TraversalTree(BTREE *tree)

BTREE *stack[1 000],*p;
int tag[1000],top=0;
p=tree;
do
while(p !=NULL)

stack[++top]=p;
(3) ;
tag[top]=0; /*标记栈顶结点的左子树已进行过后序遍历*/

while(top>0&& (4) )/*栈顶结点的右子树是否被后序遍历过*/

p=stack[top--];
putchar(p->data);

if(top>0)/*对栈顶结点的右子树进行后序遍历*/

(5) ;
tag[top]=1;

while(
[简答题]请将下面的程序改成递归的过程。
voide ditui(int n)
int i;
i=n;
while(i>1)
prinft(i--);

[填空题]下面的程序是找出两个正整数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
[填空题][函数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 );

[填空题]下面的函数利用递归实现了求1+2+3+…+n的功能: int sum(int n){ if(n==0)return 0; else return n+saln(n-1); } 在执行SUm(10)的过程中,递归调用sum函数的次数是______。
[填空题]下面的函数利用递归实现了求1+2+3+…+n的功能:
int sum(int n)
if(n==0)return 0;
else return n+saln(n-1);

在执行SUm(10)的过程中,递归调用sum函数的次数是______。

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码