题目详情
当前位置:首页 > 职业培训考试
题目详情:
发布时间:2024-09-01 21:03:00

[填空题]函数count(head)统计链表的结点个数,head为表头指针,阅读程序,要求将整个if语句改成while循环控制结构,其形式为 【9】
#include<stdio.h>
int count(NODE*head)
int n=0;
if(head!=NULL)
do
n++;
head=head->next;
while(head!=NULL);
return n;

更多"函数count(head)统计链表的结点个数,head为表头指针,阅读"的相关试题:

[填空题]以下程序段用以统计链表中元素的个数。其中first指向链表第一个结点,count用来统计结点个数。请填空。
  struct link
   char data;
   struct link * next;
  
  struct link * p,* first;
  |
  int count=0;
  p=first;
  while( 【17】 )
  
   【18】
  p= 【19】

[填空题]下面程序中函数creat用于建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。将程序补充完整。
#include<stdiao.h>
struct list
char data; struct list * next;;
struct list * creat( )

struct list *h,*p,*q; char ch;
h= 【18】 malloc(sizeof(struct list));
p=q=h;ch=getchar( );
while(ch!=’’)

p= 【19】 malloc(sizeof(struct list));
p->data=ch;q->next=p;q=p;ch=getchar( );

p->next=’/0’;
【20】

[填空题]请补充fun函数,该函数的功能是:将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的行线上填入所编写的若干表达式或语句。
[试题源程序]
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node
int data;
struct node * next;
NODE;
void fun(NODE * h)

NODE*P,*q,*r;
p= (1)
if( (2) )return;
q=p->next;
p->next=NULL;
while(q)
r=q->next;
q->next=p;
p=q;
q= (3)

h->next=p;

NODE*creatlist(int a[])

NODE*h.*p,*q;int i;
h=(NODE*)malloc(sizeof(NODE));
h->next=NULL;
for(i=0;i<N;i++)

q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)
h->next=p=q;
else

P->next=q;p=q;


return h;

void outlist(NODE*h)

NODE*P;
p=h->next;
if(p==NULL)
printf("The list is NULL!/n");

[简答题]编程题 N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun( ),它的功能是:找出学生的最低分,由函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #define N 8 struct slist { double s; struct slist *next; }; typedef struct slist STREC; double fun(STREC *h) { } STREC * creat (double *s) { STREC *h,*p,*q; int i=0; h=p=(STREC*)malloc(sizeof(STREC)); p->s=0; while(is=s[i]; i++; p->next=q; p=q; } p->next=NULL; return h; /*返回链表的首地址*/ } outlist(STREC *h) { STREC *p; p=h; printf("head"); do {printf("->%2.0f ",p->s);p=p->next;} /*输出各分数*/ while(p!=NULL); printf("/n/n "); } main( ) { double s[N]={56,89,76,95,91,68,75,85}, min; STREC *h; h=creat(s); outlist(h); min=fun(h); printf("min=%6.1f/n ",min); }
[简答题]M名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数proc( ),它的功能是:找出学生的最高分,由函数值返回。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define M 8
struet slist
double s;
struct slist * next;
;
typedef struct slist STREC;
double proc(STREC * h)


STREC*treat(double*s)

STREC *h, *p, *q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<M)
/产生8个结点的链表,各分数存入链表中
q=(STREC*)malloc(sizeof(STREC));
p->s=se[i]; i++; p->next=q; p=q;

p->next=NULL;
return h; //返回链表的首地址

void outlist(STREC*h)

STREC *p;
p=h;
printf("head");
do

printf("->%2.Of", p->s); p=p->next;
//输出各分数
while(p->next! =NULL);
printf("n/n");

void main( )

double stu[M]=60, 70, 80, 90, 65, 75, 85, 95,
max;
STREC *h;
h=creat(stu);
outlist(h);
max=proc(h);
printf
[简答题]N名学生的成绩已在主函数中放人一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85,76,69,85,9l,72,64,87,则平均分应当是:78625。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 8
struct slist

double s;
struct slist*next;
;
typedef struct slist STREC;
double fun(STREC*h)


STREC*creat(double*s) /*创建链表*/

STREC*h,*p,*q;
int i=0;
h=P=(STREC*)mallocsizeof(STREC));
P->s=0;
whilel(i<N)

q=(STREC*)mallodsizeof(STREC));
q->s=s[i];i++lp->next=q;P=q;

p->next=0;
return h;

ouclist(STREC*h)

STREC*p;
P=h->next;
printf("head");
do

printf("->%4.1f",p->s);
P=P->next;/*输出各成绩*/
while(p!=NULL);
printf("/n/n");

void main( )

double s[N]=85,76,69,85,91,72,64,87,ave;
STREC*h;
h=creat(s);outlist(h);
ave=fun(h);

[简答题]N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun( ),它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。
注童:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio. h>
#define N 8
struct slist
double s;
struct slist *next;
;
typedef struct slist STREC;
double fun(STREC *h)


STREC *creat(double *s) /*创建链表*/

STREC *h,*p, *q;
int i=0;
h=p= ( STREC*)malloc (sizeof (STREC));
p->s=0;
while (i<N)
q= ( STREC*)malloc (sizeof (STREC));
q->s=s Ii]; i++;p->next=q;p=q;

p->next=0;
return h;

outlist (STREC *h)

STREC *p;
p=h->next;
printf ("head ");
do
printf ("->%4. if ",p->s);
p=p->next; /*输出各成绩*/

while (p !=0)

main ( )

double s [N] = 85,76, 69, 85, 91,72, 64,
87,ave;
STREC *h;
h=creat (s);
[简答题]N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun( ),它的功能是:找出学生的最高分,由函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <stdlib.h>
#define N 8
struct slist
double s;
struct slist *next;
;
typedef struct slist STREC;
double fun(STREC *h)


STREC * creat (double *s)

STREC *h, *p, *q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<N)
/*产生8个节点的链表,各分数存入链表中*/
q=(STREC*) malloc(sizeof(STREC));
p->s=s[i]; i++; p->next=q; p=q;

p->next=0;
return h; /*返回链表的首地址* /

outlist (STREC *h)

STREC *p;
p=h->next;
printf("head");
do
printf("->%2.0f ",p->s);p=p->next;
/*输出各分数* /
while (p!=0);
printf("/n/n ");

main( )

double s[N]
[简答题]N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序
#include <stdlib.h>
#include <stdio.h>
#define N 8
struct slist

double s;
struct slist * next;
;
typedef struct slist STREC;
double fun(STREC * h)



STREC * creat (double * s) /*创建链表* /

STREC * h, * p, * q;
int i=0;
h=p=(STREC*) malloc (sizeof
(STREC));
p->s=0;
while (i<N)

q=(STREC *)malloc (sizeof
(STREC));
q->s=s[i]; i++; p->next=q; p=q;

p->next=0;
return h;

outlist (STREC * h)

STREC * p;
p=h->next;
printf ("head ");
do

printf("->% 4.1f ", p->s);
p=p->next; /*输出成绩* /
while (p !=NULL);
printf ("/n/n");

void main ( )

double s[N]=85, 76, 69, 85, 91, 72, 64, 87 , ave;
STREC
[填空题]下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#defineN 8
typedef street list

int data;
struct list*next;
SLIST;
SLIST*creatlist(int*a);
void outlist(SLIST*);
void fun(SLIST*h,int*n)

SLIST*p;
/***************found***********/
______=0;
p=h->next;
while(p)

(*n)++;
/*************found***********/
p=p->______;


main( )

SLIST*head;
int a[N]=12,87,45,32,91,16,20,48,num;
head=creatlist(a);
outlist(head);
/*************found*********/
fun(______,&num);
printf("/number=%d/n",num);

SLIST*creatlist(int a[])

SLIST*h,*p,*q; int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)

q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p
[简答题]在主函数中已将N名学生的成绩放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
文件PROG1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
#define N 8
struct slist
double s ;
struct stist * next;
;
typedef struct slist STREC;
double fun(STREC * h )
STREC * creat( double * s)
STREC * h, * p, * q;
int i=0;
h = p = (STREC * ) malloe (sizeof( STREC ));
p->s=0;
while(i<N)
q=(STREC * ) malloe ( sizeof( STREC ) ) ;
q->s=s[i] ;
i++;
p->next = q ;
p=q;
p->next = 0 ;
return h ;
void outlist (STREC * h)
STREC * p ;
p = h->next ;
prinff( " head" ) ;
do
prinff( " ->% 4.1f" , p->s) ;
p=p->next;
while(p! =0);
printf(" /n/n" ) ;
void main( )
double s[N]=85,76,69,85,91,72,64,87,ave;
STREC * h ;
h=creat( s
[填空题]下面函数将指针p2所指向的线性链表串接到p1所指向的链表的末端。假定p1所指向的链表非空。请填空。
#define NULL 0
struct link
float a;
struct link *next;

concatenate (p1,p2)
struct list *p1,*p2;
if(p1->next==NULL)
p1->next=p2;
else
concatenate(______,p2);

[简答题]N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:找出学生的最高分,并由函数值返回。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 8
struet slist

double s;
struct slist*next;

typedef struct slist STREC;
double fun(STREC*h)


STREC*creat(double*s)

STREC*h,*p,*q;
int i=0;
h=p=(STREC*)malloc(sizeof(STREC));
p->s=0;
while(i<N)
/*产生8个结点的链表,各分数存入链表中*/

q=(STREC*)malloc(sizeof(STREC));
p->s=s[i];i++;p->next=q;
p=q;

p->next=NULL;
return h;/*返回链表的首地址*/

void outlist(STREC*h)

STREC *p;
p=h;
printf("head");
do
printf("->%2.0f",p->s);
p=p->next;

/*输出各分数*/
while(p->next!=NULL);
printf("/n/n");

void main( )

double s[N]=85,100,99,85,91,72,64,87,max;
STREC*h;
h=creat(s);
outlist(h);
max=fun

我来回答:

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

订单号:

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