题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-22 23:42:36

[填空题][函数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 ); }

更多"[函数2.1说明] 求任意两个正整数的最大公约数的欧几里德算法。用"的相关试题:

[填空题][函数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的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若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和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( )的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给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,它的功能是:求任意两个正整数的最小公倍数和最大公约数,最小公倍数放在指针变量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); }
[填空题]两个正整数分别除以它们的最大公约数,得到2个商的和是18,能确定两个整数相差20.
(1)2个整数的最小公倍数是385; (2)2个整数的最大公约数是5.
[简答题]编写两个函数,分别求两个整数的最大公约数和最小公倍数,然后用主函数调用这两个函数并输出结果,两个整数由键盘输入。
[简答题][说明] 下面的程序利用递归算法计算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的最大公约数。
[函数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);

[填空题]下面的程序是找出两个正整数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
[简答题]下列给定程序中,函数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); }
[单项选择]下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer,ByVal y As Integer)As integer 若要输出8、12、16这3个数的最大公约数,下面正确的语句是______。
A. Print gcd(8,12),gcd(12,16),gcd(16,8)
B. Print gcd(8,12,16)
C. Print gcd(8),gcd(12),gcd(16)
D. Print gcd(8,gcd(12,16))
[多项选择]已知文件IN.DAT中存有若干个小于200的四位正整数,函数ReadDat( )读取若干个正整数并将其存入数组xx中。请编制函数CalValue( ),其功能要求:求出这个文件中共有所少个正整数totNum;求这些数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz;最后调用函数writeDat( )把求出的结果输出到文件OUT.DAT中。
注意:部分源程序已经给出。
请勿改动主函数main( )、读函数ReadDat( )和写函数writeDAT( )的内容。
[试题源程序]
#inciude<stdio.h>
#include<conio.h>
#define MAXNUM 200
int xx[MAXNUM];
int totNum=0;
int totCnt=0;
double totPjz=0.0;
int ReadDat(void);
void writeDat(void);
void CaiVaiue(void)


void main( )

int i;
system("cls");
for(i=0;i<MAXNUM;i++) xx[i]=0;
if(ReadDat( ))

printf("数据文件IN.DAT不能打开!/007/n");
return;

CalValme( );
printf("文件IN.DAT中共有正整数=%d个/n",totNum);
printf("符合条件的正整数的个数=%d个/n",totCnt);
printf("平均值=%.2f/n",totpjZ);
writeDat( );

int ReadDat(void)

FILE *fp;
int i=0;
if((fp=fopen("IN.DAT","r"))==NULL) return 1;
while(!feof(fp))

fscan

我来回答:

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

订单号:

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