[试题]

()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]设有定义 #define ITEM struct item #define SIZE sizeof(ITEM) ITEM { int num; ITEM *next; }; ITEM *head=NULL; 下述函数定义实现按插表尾形式(即每一新表元素插入至当前所生成链表的表尾之后)生成一个正向线性链表。最后指向所生成链表表头的指针作为函数值返回。为生成一个线性链表,要求输入一批整型数据,并以-1作为结束标志。请填空完善程序。 ITEM *gene(ITEM *head) { ITEM *temp,*tail;/*tail指向当前链表尾结点*/ int intno; printf("Enter integer NO.,-1 to stop:/n"); scanf("%d",&intno); while (intno!=-1) { temp=(____(1)_____)malloc(SIZE); temp->num=intno; if (head==_____(2)_____) /*空表*/ { head=temp; tail=______(3)______; } else /*非空表*/ { ____(4)_______=temp; tail=temp; } scanf("%d",&intno); } return (_______(5)_______);

参考答案与解析:

相关试题

()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

[主观题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]有一个一维数组cj,内放20个学生成绩,求平均成绩。函数ave用来求20个学生的平均成绩。[C语言函数]float ave(float a[20]){ int i;float aver,sum= (1) ;for(i=1;i<20;i++) sum= (2) ;aver= (3) ;return( (4) );}main(){ float cj[20],aver;int i;printf(“input 20

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [试题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4

  • 查看答案
  • 阅读下列C程序和程序说明,将应填入(n)处的字句写在答题纸的对应栏内。(说明)用

    [试题]阅读下列C程序和程序说明,将应填入(n)处的字句写在答题纸的对应栏内。(说明)用克鲁斯卡尔算法求解给定图的最小生成树。include <stdio. h>include <stdlib. h>define MAXN 30typedef struct{ int v1,v2; /*一条边依附的两个顶点*/int weight; /*边上的权值*/}EDGE;typedef struct{ int Vnum; /*图中的顶点数目*/E.DGE e[MAXN*(MAXN-1)/2]; /*图中的边*/}G

  • 查看答案
  • 阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]

    [主观题]阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。[说明]求树的宽度,所谓宽度是指在二叉树的各层上,具有结点数最多的那一层的结点总数。本算法是按层次遍历二叉树,采用一个队列q,让根结点入队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。[函数]int Width ( BinTree *T{int front=-1, rear=-1; /*队列初始化*/int flag=0, count=0, p; /*p用于指向树中层的最右边的结点, flag 记录层中结点

  • 查看答案
  • 阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [

    [试题]阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。[说明]函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:define MAXSIZE 32typedef struct{int * elem; /* 栈的存储区 */int max;

  • 查看答案
  • 阅读以下说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内。(说明) 假设

    [试题]阅读以下说明和C程序,将应填入(n)处的字句写在答题纸的对应栏内。(说明)假设需要将N个任务分配给N个工人同时去完成,每个人都能承担这N个任务,但费用不同。下面的程序用回溯法计算总费用最小的一种工作分配方案,在该方案中,为每个人分配1个不同的任务。程序中,N个任务从0开始依次编号,N个工人也从0开始依次编号,主要的变量说明如下:c[i][j]:将任务i分配给工人j的费用;task[i]:值为0表示任务i未分配,值为j表示任务i分配给工人j;worker[k]:值为0表示工人k未分配任务,值为1表示

  • 查看答案
  • 试题一 阅读下列算法说明和算法,将应填入(n)处的语句写在答题纸的对应栏内。

    [试题]试题一阅读下列算法说明和算法,将应填入(n)处的语句写在答题纸的对应栏内。(说明)为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置(假设R[]中的元素互不相同)。(算法)1.变量声明X:DataTypei,j,low,high,mid,R0..n2.每循环一次插入一个R[i]循环:i以1为步长,从2到n,反复执行①准备X<-R[i]; (1)

  • 查看答案
  • 阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。(说

    [试题]阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类 HeadDecorator与FootDecorator分别能够完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!-------------------这是票据的脚注!这是票据的台头!这是票据的脚注!(tava程序代码)public class SalesTic

  • 查看答案
  • 试题五 阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

    [试题]试题五阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(程序5说明)著名的四色定理指出任何平面区域图均可用四种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过四种颜色的着色方案。程序中用1~4表示四种颜色。要着色的N个区域用0~N-1编号,区域相邻关系用adj[][]矩阵表示,矩阵的i行j列的元素为1,表示区域i与区域j相邻;矩阵的i行j列的元素为0,表示区域i与区域j不相邻。数组color[]用来存储着色结果,color[i]的值为区域i所着颜色。

  • 查看答案
  • 试题三 阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

    [试题]试题三阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)下面的程序功能的功能是以行为单位对字符串按下面的条件进行排序。排序条件为:从字符串中间一分为二,右边部分按字符的ASCⅡ值降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上例如:位置:0 1 2 3 4 5 6 7源字符串:h g f e a b c d则处理后字符串:d c b a h g f e函数ReadDat()实现从文件in.dat中读取数据(

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说