题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2023-12-13 05:21:17

[简答题]下列给定程序中,函数fun( )的功能是;求出两个数的最大公约数,并作为函数值返回。例如,若给num1和num2输入49和21,则输出的最大公约数为7:若给num1和num2分别输入27和81,则输出最大公约数为27。
请改正函数fun( )中的错误,使它能得出正确的结果。
注意:不要改动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);

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( )的功能是;求出两个数的最大公约数,并作"的相关试题:

[简答题]下列给定程序中,函数fun( )的功能是;求出两个数的最大公约数,并作为函数值返回。例如,若给num1和num2输入49和21,则输出的最大公约数为7:若给num1和num2分别输入27和81,则输出最大公约数为27。 请改正函数fun( )中的错误,使它能得出正确的结果。 注意:不要改动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); } 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的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动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( )的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给hum1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。
#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);

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);

[填空题]在给定程序中,函数fun的功能是:将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下的数字字符。
例如:主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define N 9
long ctod(char *s)
long d=0;
while(*s)
if(isdigit(*s))
/**********found**********/
d=d*10+*s- (1)
/**********found**********/
(2)

return d;

long fun(char *a,char *b)
/**********found**********/
return (3)

void main( )
char s1[N],s2[N];
do
printf("Input string s1: ");
gets(s1);

while(strlen(s1)>N);
do
printf("Input string s2: ");
gets(s2);

while(strlen(s2)>N);
printf("The result is: %1d/n",fun(s1,s2));


[填空题]下面程序通过调用函数模板实现计算两个正整数的最大公约数,把main函数中的错误找出并改正过来。
#include<iostream.h>
template<class T>
T gcd(T x,T y)
while(x!=y)
if(x>y)x-=y;
else y-=x;

return x;

void main( )
int a;
double d;
cin>>a>>d:
cout<<gcd(a,d)<<endl;

[简答题][说明] 下面的程序利用递归算法计算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); }
[简答题]下列给定程序中,函数fun的功能是:计算正整数num各位上的数字之积。
注意:不要改动maln函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h >
#include <conio.h>
long fun (long num)

/********** found********** /
long k;
do

k*=num% 10;
/********** found********** /
num/=10;
while (num);
return (k);

main ( )

long n;
printf ("/ n please enter a num-
ber: ");
scanf("% 1d", &n);
printf("/n% 1d/n", fun(n));

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

[填空题]由N个有序整数组成的数列已放在一维数组中,下列给定程序函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low<high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中,直到low>high,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
/**********found**********/
void fun(int a[],int m)
int low=0,high=N-1,mid;
while(low<=high)
mid=(low+high)/2;
if(m<a[mid])
high=mid-1;
/********found**********/
else if(m>a[mid])
low=mid+1;
else return(mid);

return(-1);

void main( )
int i,a[N]=(-3,4,7,9,13,45,67,89,100,180),
k,m;
printf("a数组中的数据如下:");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("Enter m:");
scanf("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=%d/n",m,k);
else printf("Not be found /n");

[简答题]改错题 下列给定程序中函数fun( )的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应该是38;若输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include long fun(long num) { /**********************found***********************/ long k=1; do { k+=(num%10)*(num%10); num/=10; /**********************found***********************/ }while(num) return (k); } main( ) { long n; clrscr( ); printf("/Please enter a number:"); scanf("%ld",&n); printf("/n%ld/n",fun(n)); }
[填空题]下列给定程序中函数fun( )的功能是计算正整数num的各位上的数字之平方和。
例如:输入352,则输出应该是38;若输入328,则输出应该是77。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
long fun(long num)

/*+**+*+*+*found************/
long k=1;
do

k+=(num%10)*(num%10);
num/=10;
/*********+found*+**+*+******/
while(num)
return(k);
main( )

long n;
clrscr( );
printf("/Please enter a number:");
scanf("%ld",&n);
printf("/n%ld/n",fun(n));

我来回答:

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

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码