题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-09-28 03:16:39

[填空题][函数2.1说明]
函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。
[函数2.1]
fun1 (int m, int k, int xx [] )

inti, j, s=0;
for ( i=m+1; k>0; i++ )
for (j=2; j<i; j++ )
if ( i %j=0 )
(1)
if( i==j )

(2)
k--;


[函数2.2说明]
函数void fun 2 ( )的功能是:打印出杨辉三角形(要求打印出10行)。
[函数2.2]
void fun2 ( )

int i, j;
int a[10][10];
printf ("/n" );
for (i=0; i<10; i++
a [i] [0]=1;
(3) )
for (i=2; i<l0; i++ )
for (j=1; j<i; j++)
(4)
for (i=0; i<10; i++ )
for (j=0; j<=i; j++ )
(5)
printf ( "/n" );


更多"[函数2.1说明] 函数fun1 (int m, int k, in"的相关试题:

[填空题][函数2.1说明] 函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。 [函数2.1] fun1 (int m, int k, int xx [] ) { inti, j, s=0; for ( i=m+1; k>0; i++ ) {for (j=2; j<i; j++ ) if ( i %j=0 ) (1) if( i==j ) { (2) k--; } } } [函数2.2说明] 函数void fun 2 ( )的功能是:打印出杨辉三角形(要求打印出10行)。 [函数2.2] void fun2 ( ) { int i, j; int a[10][10]; printf ("/n" ); for (i=0; i<10; i++ {a [i] [0]=1; (3) ) for (i=2; i<l0; i++ ) for (j=1; j<i; j++) (4) for (i=0; i<10; i++ ) {for (j=0; j<=i; j++ ) (5) printf ( "/n" ); } }
[填空题]【说明】
函数fun1 (int bb[])的功能是:在3位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,两位数字又相同,例如144、676等。
【函数2.11】
fun1 (int bb[])

int i, j, k=0, g, s, b;
for (i=100; i<=999; i++)

g=i%10;
(1)
b=i/100;
if ((i== (int) sqrt (i) * (int) sqrt (i)) && (g==s‖s==b‖b==g))
(2)

return k;

【函数2.2说明】
函数void fun2( )的功能是:数组a中有300个四位数,求出数组a千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT,再把所有满足此条件的四位数依次存入数组bb中,然后对数组bb的四位数按小到大的顺序进行排序。例如:9123,9-1-2-3>0,则该数满足条件存入数组bb中,且个数CNT=CNT+1,9812,9-8-1-2<0,则该数不满足条件,忽略。
【函数2.2】
void fun2 ( )

int q,b,s,g,i,j;
for (i=0;i<300;i++)
q=a[i]/1000;
b=a[i]/100%10;
s=a[i]/10%10;
g=a[i]%10;
if (q-b-s-g>0)
(3)

for ( i=0;i<cnt-1;i++ )
for ( j=i+1;j<cnt;j++ )
if ( bb[i]>bb[j] )
(4)
bb[i]=bb[j];
[单项选择]有下列程序:
int fun1(double a)(return a*=a;)
int fun2(double x,double y)
double a=0,b=0;
a=fun 1(x); b=fun 1(y);return(int)(a+b);

main( )
double w;w=fun2(1.1,2.0),……
程序执行后变量w中的值是( )。
A. 5.21
B. 5
C. 5.0
D. 0.0
[简答题][说明]
本程序包含的函数及其功能说明如下:
(1)函数first_insert( )的功能是在已知链表的首表元之前插入一个指定值的表元;
(2)函数reverse_copy( )的功能是按已知链表复制出一个新链表,但新链表的表元链接顺序与
已知链表的表元链接顺序相反;
(3)函数Print_link( )用来输出链表中各表元的值;
(4)函数free_link( )用来释放链表全部表元空间。
[程序]
#include <stdio. h >
#include <malloe. h >
typodef struct node
int val;
struct node * next;
NODE;
void first_insert(NODE * * p,int v)
NODE *q = (NODE *) malloe(sizeof(NODE));
q->val = v; q->next = *p; /* 为新表元赋值*/
* p = (1) ;
NODE * reverse_copy( NODE * p)
NODE * u;
for(u=NULL; p!=NULL; p=p->next) first_insert( (2) );
return u; void printlink(NODE * p )
for(; (3) ) prinff("%d/t", p->val);
printf(" /n");void free_link( NODE * p)
NODE * u;
while(p! =NULL) u=p->next;free(p); (4) ;
void main( ) NODE * link1 , * link2;
int i;
link1 = NULL;
for(i=1; i<= 10; i+ + )first_insert(&linkl, i);
link2 = reverse_copy(link1 );

[简答题]请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。
例如,若输入15,5,则应输出16,18,20,21,22。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
void fun(int m,int k,int xx[])

main( )

int m,n,zz[1000];
clrscr( );
printf("/nPlease enter two integers:");
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=0;m<n;m++)
printf("%d",zz[m]);
printf("/n");

[多项选择]请编写一个函数jS Value(int m, int k, int xx[]),该函数的功能是:将小于整数m且紧靠m的k个素数存入数组xx并传回。调用函数writeDat( )读取10组数据,分别得出结果且把结果输出到文件out.dat中。
注意:部分源程序给出如下。
例如:若输入“17,5”,则应输出“13,11,7,5,3”。
请勿改动主函数main( )和输出数据函数readwriteDat( )的内容。
[试题源程序]
#include<conio.h>
#include<stdio.h>
void readwriteDat( );
void num(int m, int k, int xx[])


main( )

int m, n, xx[1000];
System("cls");
printf("/nPlease enter two integers:");
Scanf("%d%d", &m, &n);
num(m,n,xx);
for(m=0;m<n;m++)
printf("%d",xx[m]);
printf("/n");
readwriteDat( );

void readwriteDat( )

int m,n,xx[1000],i;
FILE *rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)

Scanf(rf,"%d%d",&m,&n);
num(m,n,xx);
for(m=0;m<n;m++) fprintf(wf,"%d",xx[m]);
fprintf(wf,"/n");

fclose(rf);
fclose(wf);

[简答题]请编写一个函数is Value(int m,int k,int xx[]),该函数的功能是:将小于整数m且紧靠m的k个素数存入数组xx传回。最后调用函数writeDat( )读取10组数据,分别得出结果且把结果输出到文件out.dat中。
注意:部分源程序给出如下。
例如:若输入17,5,则应输出:13,11,7,5,3。
请勿改动主函数main和输出数据函数readwriteDat( )的内容。
[试题源程序]
#include<conio.h>
#include<stdio.h>
void readwriteDat( );
void num(int m,int k,int xx[])


main( )

int m,n,xx[1000];
system("cls");
printf("/nPlease enter two integers;");
scanf("%d%d",&m,&n);
num(m,n,xx);
for(m=0;m<n;m++)
printf("%d",xx[m]);
printf("/n");
readwriteDat( );

void readwriteDat( )

int m,n,xx[1000],i;
FILE*rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)

fscanf(rf,"%d%cr,&m,&n);
num(m,n,xx);
for(m=0;m<n;m++)fprintf(wf,"%d",xx[m]);
fprintf(wf,"/n");

fclose(rf);
fclose(wf);

[简答题]请编写一个函数js Value(int m,int k,int xx[]),该函数的功能是:将小于整数m且紧靠m的k个素数存入数组xx传回。最后调用函数writeDat( )读取10组数据,分别得出结果且把结果输出到文件out.dat中。
注意:部分源程序给出如下。
例如:若输入17,5,则应输出:13,11,7,5,3。
请勿改动主函数main和输出数据函数readwriteDat( )的内容。
[试题源程序]
#include<conio.h>
#include<stdio.h>
  void readwriteDat( );
  void hum(int m,int k,int xx[])


main( )

int m,n,xx[1000];
system("cls");
printf("/nPlease enter two integers:");
scanf("%d%d",&m,&n);
num(m,n,xx);
for(m=0;m<n;m++)
printf("%d",xx[m]);
printf("/n");
readwriteDat( );

void readwriteDat( )

int m,n,=[1000],i;
FILE*rf, *wf:
rf=fopen("in.dat","r"):
wf=fopen("out.dat","w");
for(i=0;i<10;i++)

fscanf(rf,"%d%d",&m,&n);
num(m,n,xx);
for(m=0;m<n;m++) fprintf(wf,"%d",xx[m]):
fprintf(wf,"/n");

fclose(rf);
fclose(wf);

[简答题][函数2.1说明] 函数strcpy的功能是将字符串str2的内容复制到字符申str1。 [函数2.1] (1) strcpy (char *slr1, const char *str2) { char * temp; while( * str2!=’/0’) *cp++ = (2) ; (3) =’/0’; return str1; } [函数2.2说明] 函数int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个字符串str1和str2的大小。当str1<str2时返回-1,当str1>str2时返回1,否则返回0。 [函数2.2] int strcmp(const char *str1, const char *str2) { while( *str1= =* str2) { if(* s1= = (4) ) return 0; s1++; (5) ; } if( *str1<*str2) return -1; return 1; }
[填空题]阅读以下函数说明和C语言函数,回答问题。
[说明1]
函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为’3’、’2’、’1’。
[C函数1]
void convert(char *a,int n)
int i;
if((i=n/10)!=0; convert( (1) ,i);
*a= (2) ;

[说明2]
函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。
[C函数2]
int index(char *s,char *t)
int i,j=0;k=0;
for(i=0;s[i]!:’/0’;i++)
( for( (3) ;(t[k]!=’/0’)&&(s[j]!=’/0’)&&( (4) );j++,k++);
if( (5) ) return(i);

return(-1);

[填空题]阅读以下函数说明和C语言函数,回答问题。
[说明]
函数Node *difference(A,B)用于求两个集合之差C=A-B,即当且仅当e是A中的一个元素,但不是B中的元素时,e是C中的元素。集合用有序链表实现,用一个空链表表示一个空集合,表示非空集合的链表根据元素之间按递增排列。执行C=A-B之后,表示集合A和B的链表不变,若结果集合C非空,则表示其链表根据元素之值按递增排列。函数append( )用于在链表中添加节点。
[C函数]
typedef struct node
int element;
struct node *link;
Node;
Node *A,*B,*C;
Node *append(last,e)
Node *last;
int e;
last->link=(Node *)malloc(sizeof(Node));
last->link->element=e;
return(last->link);

Node *difference(A,B)
Node *A,*B;
Node *c,*last;
C=last=(Node *)malloc(sizeof(Node));
while( (1) )
if(A->element<B->element)
last=append(last,A->element);
A=A->link:

else if( (2) )
A:A->link;
B:B->link;

elSe
(3)
while( (4) )
last=append(last,A->element);
A=A->link:

(5) ;
last=c;
c=c->link;
free(last);
return(c);

[简答题]请编写函数num(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数readwriteDat( ),从in.dat文件中读取10组数据,分别得出结果,且把结果输出到out.dat文件中。
部分程序已经给出。
例如,若输入17 5,则应输出:19 23 29 31 37。
注意:部分程序已经给出。
请勿改动主函数main( )和输出数据函数readwriteDat( )的内容。
#include<conio.h>
#include<stdio.h>
void readwriteDat( );
void num(int m,int k,int xx[])


msin( )

int m,n,xx[1000];
printf("/nPlease enter two integers:");
scanf("%d%d",&m,&n);
num(m,n,xx);
for(m=0; m<n; m++)
printf("%d",xx[m]);
printf("/n");
readwriteDat( );

void readwriteDat( )

int m,n,xx[1000],i;
FILE *rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0; i<10;i++)

fscanf(rf,"%d%d",&m,&n);
num(m,n,xx);
for(m=0; m<n;m++)
fprintf(wf,"%d",xx[m]);
fprintf(wf,"/n");

fclose(rf);
fclose(wf);

[简答题]【函数3说明】 函数DeleteNode(Bitree * r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为: typedef struct Tnode{ int data; /*结点的键值*/ struct Tnode * Lchild,*Rchild; /*指向左、右子树的指针*/ } * Bitree; 在二叉查找树上删除一个结点时,要考虑三种情况: ①若待删除的结点p是叶子结点,则直接删除该结点; ②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点P; ③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。 【函数3】 int DeleteNode(Bitree * r,int e){ Bitree p=*r,pp,s,c; while( (1) ){ /*从树根结点出发查找键值为e的结点*/ pp=p; if(e<p->data)p=p->Lchild; else p=p->Rchild; { if(!p)return-1; /*查找失败*/ if(p->Lchild &&p->Rchild){/*处理情况③*/ s= (2) ; pp=p; while( (3) ){pp=s;s=s->Rchild;} p->data=s->data;p=s; } /*处理情况①、②*/ if( (4) )c=p->Lchild; else c=p->Rchild; if(p==*r)*r=c; else if( (5) )pp->Lchild=c; else pp->Rchild=c; free(p); return 0; }
[简答题]阅读下列函数说明,将应填入 (n) 处的字句写在答卷纸的对应栏内。
【函数1说明】
函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”两个顺序表A和B的大小。设A’和B’分别为A和B中除去最大共同前缀后的子表(例如,A=(y,X,X,Z,X,Z),B=(y,x,x,z,y,x,x,2),则两者中最大的共同前缀为(y,x,x,2),在两表中除去最大共同前缀后的子表分别为A’=(X,Z)和B’=(y,x,x,2))。若A’=B’=空表,则 A=B:若A’=空表,而B’≠空表,或者两者均不为空表,且A’的首元小于B,的首元,则A<B;否则A>B。
提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素:否则即可得山比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。
【函数1】
int compare(SqList A,SqList B)
{
//若A<B,则返回-1;若A=B,则返回o:若A>B,则返回1
j=0;
while(j< (1) &&j<B.1ength)
if( A.elem[j] < B.elem[j] ) return(-1);
else if( A.elem[j] > B.elem[j] ) return(i);
else (2)
ff (A.length == B.length) return (0);
else fi(A.length < B.length ) return(-1);
else return(1);
}//compare
//函数1的时间复杂度是 (3)
【函数2说明】
函数 exchange_L( SLink &L, int m )的功能是:用尽可能少的辅助空间将单链表中前 m个结点和后 n 个结点的互换。即将单链表(a
[简答题]阅读下列函数说明,将应填入 (n) 处的字句写在答卷纸的对应栏内。
【函数1说明】
函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”两个顺序表A和B的大小。设A’和B’分别为A和B中除去最大共同前缀后的子表(例如,A=(y,X,X,Z,X,Z),B=(y,x,x,z,y,x,x,2),则两者中最大的共同前缀为(y,x,x,2),在两表中除去最大共同前缀后的子表分别为A’=(X,Z)和B’=(y,x,x,2))。若A’=B’=空表,则 A=B:若A’=空表,而B’≠空表,或者两者均不为空表,且A’的首元小于B,的首元,则A<B;否则A>B。
提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素:否则即可得山比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。
【函数1】
int compare(SqList A,SqList B)

//若A<B,则返回-1;若A=B,则返回o:若A>B,则返回1
j=0;
while(j< (1) &&j<B.1ength)
if( A.elem[j] < B.elem[j] ) return(-1);
else if( A.elem[j] > B.elem[j] ) return(i);
else (2)
ff (A.length == B.length) return (0);
else fi(A.length < B.length ) return(-1);
else return(1);
//compare
//函数1的时间复杂度是 (3)
【函数2说明】
函数 exchange_L( SLink &L, int m )的功能是:用尽可能少的辅助空间将单链表中前 m个结点和后 n 个

我来回答:

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

订单号:

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