题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2024-01-11 03:28:22

[填空题]阅读以下函数说明和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);

更多"阅读以下函数说明和C语言函数,回答问题。 [说明] 函数Node "的相关试题:

[填空题]阅读以下函数说明和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语言函数,回答问题。
[说明]
为参加网球比赛的选手安排比赛日程。
设有n(n=2k)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选手每天赛一场,不轮空。试按此要求为比赛安排日程。
设n位选手被顺序编号为1,2,…,n。比赛的日程表是一个n行n-1列的表,i行j列的内容是第i号选手第j天的比赛对手。用分治法设计日程表,就是从其中一半选手(2m-1位)的比赛曰程,导出全体(2m位)选手的比赛日程。从只有2位选手的比赛日程出发,反复这个过程,直到为n位选手安排好比赛日程为止。
[C函数]
#include<stdio.h>
#define MAXN 64
int a[MAxN+1][MAXN];
void main( )
int twoml,twom,il,j,m,k;
printf("指定n(n=2的k次幂)位选手,清输入k。/n");
scanf("%d",&k);
a[1][1]=2; /*预设2位选手的比赛日程*/
a[2][1]=1;
m=1;twoml=1;
while(m<k)
(1)
twoml+=twoml; /*为2m位选手安排比赛日程*/
(2)
/*填日程表的左下角*/
for(il=twoml+l;il<=twom;i1++)
for(j=1;j<=twoml-1; j++)
a[i1][J]=a[i1-twoml][j]+twoml;
(3)
for(i1=2;i1<=twom;i1++)a[i1][twoml]=a[i1-1][twom1]+l;
for(j=twoml+1;j<twom;j++)
for(i1=1;i1<twoml;i1++) a[i1][j]=a[i1+1][j-1];
(4) ;
<
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明] 函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 [C函数] int psort(int a[],int n) {int i,J,k,P; for(i=0,k=0;i< (1) ;i++){ for(j=i+1, (2) ;j<n; j++) if(a[p]>a[j]) p=j; if(p!=i){ t=a[p]; a[p]=a[i]; a[i]=t; } if( (3) ) k++; else if( (4) <a[i]) (5) =a[i]; } return k; } int a[]={5,7,5,6,4,3,4,6,7}; main( ) {int k,n; for(k=0;k<(Sizeof a)/Sizeof(int);k++) printf("%5d",a[k]); printf ("/n/n"); n=psort(a,(sizeof(a))/sizeof(int)); for(k=0;k<n;k++) printf("%5d",a[k]); printf("/n/n"); }
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明]
函数void diff(Node*A,Node*B,Node**r)的功能是:根据两个由整数按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1,并且不是L2中的整数,还要求L3中的所有整数都两两不等。
[C函数]
#include<malloc.h>
typedef struct node
int data;
struct node*next;
Node;
void diff(Node*A,Node*B,Node**r)
int lastnum;
Node*P;
*r=NULL;
if(!A) return;
while( (1) >
if(A->data<B->data)
lastnum=A->data;
p=(Node*)malloc(sizeof(Node));
P->data=lastnum;
P->next=*r;
(2) ;
do
A=A->next;
while( (3) >;

else iffA->data>B->data)
B=B->next;
else
(4) ;
lastnum=A->data;
while (A &&A->data==lastnum)A=A->next;

while(A)
lastnum=A->data;
p=(Node*)m
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明]
函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。
[C函数]
int psort(int a[],int n)
int i,J,k,P;
for(i=0,k=0;i< (1) ;i++)
for(j=i+1, (2) ;j<n; j++)
if(a[p]>a[j])
p=j;
if(p!=i)
t=a[p];
a[p]=a[i];
a[i]=t;

if( (3) ) k++;
else if( (4) <a[i])
(5) =a[i];

return k;

int a[]=5,7,5,6,4,3,4,6,7;
main( )
int k,n;
for(k=0;k<(Sizeof a)/Sizeof(int);k++)
printf("%5d",a[k]);
printf ("/n/n");
n=psort(a,(sizeof(a))/sizeof(int));
for(k=0;k<n;k++)
printf("%5d",a[k]);
printf("/n/n");

[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明1] 函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。 所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如:28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。 [C函数1] int factors(int n) { int i,S; for(i=l,s=0;i<=n/2;i++) if(n%i==O) (1) ; if( (2) )return 0; rerurn -1; } [说明2] 函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。 [C函数2] int maxint(int a[],int k) { int t; if( (3) )return (4) ; t=maxint(a+1, (5) )j return(a[0]>t) a[0] :t; }
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明1]
函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。
[C函数1]
int function(int a)
{ int yes,i;
i=2;yes=1;
while(i<=a/2 && (1) ){
if( (2) ) yes=0;
i++;
}
return yes;
}
[说明2]
函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。
[C函数2]
int deleteARR(int*arr,int n)
{ int k,j;
k=0;j=1;
while(j<n){
if( (3) )
(4) =arr[j];
j++;
}
return (5) ;
}
[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明1]
函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。
[C函数1]
int function(int a)
int yes,i;
i=2;yes=1;
while(i<=a/2 && (1) )
if( (2) ) yes=0;
i++;

return yes;

[说明2]
函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。
[C函数2]
int deleteARR(int*arr,int n)
int k,j;
k=0;j=1;
while(j<n)
if( (3) )
(4) =arr[j];
j++;

return (5) ;

[填空题]
阅读以下函数说明和C语言函数,将应填入 (n) 的字句写在答题纸的对应栏内。
[说明1]
函数int fun1(int m, int n)的功能是:计算并返回正整数m和n的最大公约数。
[函数1]
int fun1(int m, int n)
{
while ( (1) ) {
if (m>n) m=m-n;
else n=n-m;
}
(2) ;
}
[说明2]
函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。
例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。
[函数2]
long fun2(char *str)
{
int i=0;
long k=0;
char *p=str;
while (*p!=’\0’ && (3) ) {
if (*p>=’0’ && *p<=’9’) {
k= (4) + *p - ’0’;
++i;
}
(5) ;
}
return k;
}


[填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。 [说明1] L为一个带头结点的循环链表。函数LinkList deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于C的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。 [C函数1] LinkList deletenode(LinkList L,int c) {LinkList Lc,P,pre; pre=L; p= (1) ; Lc=(LinkList)malloc(sizeof(Listnode)); Lc->next=Lc; while(P!=L) if(p->data>C){ (2) ; (3) ; Lc->next=p; p=pre->next; } else{ pre=p; p=pre->next; } return Lc; } [说明2] 递归函数dec_to_k_2(int n,int k)的功能是将十进制正整数n转换成进制数,并打印。 [C函数2] dec to k 2(int n,int k) { if(n!=O){ dec to k 2( (4) ,k); printf("%d", (5) ); } }

我来回答:

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

订单号:

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