主观

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

[说明]

 循环队列的类型定义如下(其中队列元素的数据类型为datatype):

typedef struct{

  datatype data[MAXSIZE]; /*数据的存储区*/

  int front,rear;   /*队首、队尾指针*/

  int num;      /*队列中元素的个数*/

}c _ SeQueue;       /*循环队*/

 下面函数及其功能说明如下:

 (1) c_SeQueue* Init_SeQueue():新建队列;

 (2) int ln_SeQueue( c_SeQueue *q, datatype x):将元素x插入队列q,若成功返回1否则返回0;

 (3) int Out_SeQueue (c_SeQueue *q, datatype *x):取出队列q队首位置的元素,若成功返回1否则返回0。

[函数]

c_SeQueue* Init_SeQueue()

{ q=malloc(sizeof(c_SeQueue));

 q->front=q->rear=MAXSIZE-1;

  (1);

 return q;

}

int In_SeQueue( c_SeQueue *q, datatype x)

{ if(q->num= =MAXSIZE) return 0;  /*队满不能入队*/

 else {

    q->rear=(2);

    q->data[q->rear]=x;

    (3);

    return 1;  /*入队完成*/

 }

}

int Out_SeQueue( c_SeQueue *q, datatype *x)

{ if (q->num= =0) return 0;  /*队空不能出队*/

  else{

    *x=(4);  /*读出队首元素*/

   q->front=(5);

   q->num- -;

   return 1;  /*出队完成*/

 }

}

参考答案
您可能感兴趣的试题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

[说明]

 以下程序的功能是统计学生成绩,包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前百分之七十的学生定为合格(PASS),而后百分之三十的学生定为不合格(FAIL)。例如,当输入4名学生的姓名和成绩“Alice 67 Mary 90 Tom 56 John 88”后,程序的执行结果如下:

 姓名  成绩  合格否

 Mary  90   PASS

 John  88   PASS

 Alice 67   FAIL

 Tom  56   FAIL

[C++程序]

#include <stdio.h>

#include <string.h>

#define N 10

class student

{ protected:

 char name[10];

 int deg;

 public:

    void setname(charna[]) {strcpy(name,na);}

    char * getname() {return name;}

    void setdeg(int d) {deg= d;}

    int getdeg(){return deg;}

};

class compute

{ int ns;

 student na[N];

 public:

    void getdata();

    void sort();

    void disp();

};

void compute::getdata()

{ int i,tdeg;

 char tname[10];

 printf("输入学生人数:");

 scanf("%d",&ns);

 printf("输入学生姓名和成绩:\n");

 for(i=0;i<ns;i+ +){

    scanf("%s%d",tname,&tdeg);

    (1);

    na[i].setdeg(tdeg);

 }

}

void compute::sort()

{ int i,j,pick;

  (2);

 for(i=0;i<ns-1;i+ +){

    pick=i;

    for(j=i+1;j<ns;j+ +)

      if(na[j].getdeg()>na[pick].getdeg()) (3);

    temp=na[i];

    na[i]=na[pick];

    na[pick]=temp;

 }

}

void compute::disp()

{ int cutoff,i;

  printf("RESULT\n");

  printf("姓名 成绩 合格否\n");

  cutoff=ns*7/10-1;

  for(i=0;i<ns;i+ +) {

    printf("%-6s%3d",(4));

    if((5)) printf("\tPASS\n");

    else printf("\tFAIL\n");

void main()

{ compute obj;

  obj.getdata();

  obj.sort();

  obj.disp();

}

阅读以下说明和java代码,将应填入(n)处的字句写在对应栏内。

[说明]

 有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。

[Java程序]

public class Teacher {

  String name;

  int top=0;

  Student[] student=new Student[20];

  public Teacher() {}

  public Teacher(String name) { this.name=name;}

  boolean add(Student stu){

   int len=this.student.length;

   if (top<len-1) {

     this.student[top]=siu;

     (1);

  return true;

   }

   else

    return (2);

  }

void disp(){

 System.out.println(“指导老师"”+this.name);

 System.out.println(“研究生:”);

 for(int i=0;i<(3);i++){

 System.out.println(“姓名:”+this.student[i].name+“\t研究方向:”+this.student[i]. search);

 }

}

public static void main(String[] args){

 Teacher t[]={new Teacher(“李明”),new Teacher(“王华”)};

 Student s1 = new Student(“孙强”,“数据库”);

 Student s2 = new Student(“陈文”,“软件工程”);

 Student s3 = new Student(“章锐”,“计算机网络”);

 if(! t[0].add(s1)) {System.out.println(“每个老师最多只能指导20个学生!”);}

 if(! t[0].add(a2)) {System.out.println(“每个老师最多只能指导20个学生!”);}

 if(! t[1].add(s3)) {System.out.println(“每个老师最多只能指导20个学生!”);}

 for(int i=0;i<2;i++)

    (4);

}

}

class (5) {

 String name;

 String search;

 public Student(){}

 public Student(String name,String search){

  this.name=name;

  this.search=search;

 }

 String getName(){return this.name;}

 String getSearch(){return this.search;}

}

阅读以下应用说明及Visual Basic程序代码,根据要求回答问题1至问题4。

 【说明】

 某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。

图1-19对话框中共定义了6个标签、6个文本框、4个命令按钮和1个Data数据控件。其中Data数据控件是Visual Basic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。【添加】(cmdAdd)按钮用于向学生成绩数据表添加一条空记录:【修改】(cmdEdit)按钮用于修改当前所显示的一条数据记录:命令按钮【删除】(cmdDelete)用于删除当前显示的一条数据记录;单击【退出】(cmdExit)按钮,系统将退出图1-19所示的对话框。

 表1-13是学生成绩表结构的示例;表1-14是学生成绩表的示例。

 图1-19将表1-14数据库中的记录信息显示到相应的文本框中。要在各文本框(txtStu(i),i=0,1,2,3,4,5)中显示Data数据控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。

【Visual Basic程序】

Private Sub Form_Load()

For i = 0 To 5

 txtStu(i).Locked = True

Next i

End Sub

Private Sub cmdAdd Click()

 cmdEdit.Enabled = Not cmdEdit.Enabled

  (1) 

For i = 0 To 5

 txtStu(i) .Locked = Not txtStu(i).Locked

Next i

If cmdAdd. Caption = "添加" Then

   (2) 

  Datal.Caption = "新记录"

  cmdAdd.Caption = "保存"

  cmdExit.Caption = "取消"

  txtStu(0).SetFocus

Else

  Datal.Recordset.Update

   (3) 

  cmdAdd.Caption = "添加"

End If

End Sub

Private Sub cmdEdit_Click()

cmdAdd. Enabled = Not cmdAdd. Enabled

cmdDelete. Enabled = Not cmdDelete. Enabled

For i = 0 To 5

 txtStu(i).Locked = Not txtStu(i).Locked

Next i

If cmdEdit.Caption = "修改" Then

 Datal.Recordset.Edit

 cmdEdit.Caption = "保存"

 cmdExit.Caption = "取消"

Else

  (4) 

 cmdEdit.Caption = "修改"

End If

End Sub

Private Sub cmdDelete_Click()

answer = MsgBox("确实删除该记录吗?", vbYesNo + vbQuestion, "警告")

If answer = vbYes Then

 Datal.Recordset.Delete

  (5) 

 If Datal.Recordset.EOF Then

  (6) 

 End If

End If

End Sub

Private Sub cmdExit_Click()

 If cmdExit.Caption = "退出" Then

  End

 Else

   (7) 

  cmdAdd. Enabled= True

  cmdEdit.Enabled = True

  cmdDelete. Enabled= True

  For i = 0 To 5

   txtStu(i).Locked = Not txtStu(i).Locked

  Next i

  cmdExit.Caption = "退出"

  cmdAdd.Caption = "添加"

  cmdEdit.Caption = "修改"

   (8) 

End If

End Sub

Private Sub Datal_Reposition()

Datal.Caption = "第" &(9).AbsolutePosition + 1& "条记录"

End Sub

请根据【说明】和图1-19的显示结果,从以下备选答案中为(1)~(9)空缺处选择正确的答案。(以下部分选项可重复选择)  【备选答案】A.Datal.Refresh

B.Datal.Recordset.Update

C.Datal.Recordset

D.Datal.Recordset.CancelUpdate

E.Datal.Recordset.AddNewF.Datal.Recordset.MoveNextG.Datal.Recordset.MoveLastH.cmdDelete.Enabled=NotcmdDelete.Enabled

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服