一起答
主观

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

 某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第i个评分为止。程序的运行界面如下:

    

 在开发过程中,文本框名为Text1,界面上有上至下三个按钮分别取名为CmdMark、CmdReresh和CmdExit。

[Visual Basic代码]

Private Sub CmdMark_Click()   ’按钮“输入评分”的单击事件响应代码

 Dim i As Integer,temp As Variant   ’声明变量

 Dim marks(1 To 10),maxMark,minMark,sumMark,mark As Single

 sumMark=0

 Text1.Text=“编号”&Chr(9)&“评分”& vbCrLf

 For i=1 To 10   ’接收十个评分输入

    Do While 1=1       ’验证并接收第i个评委的评分

    temp=InputBox(“请输入”&i&“号评委的评分:”)

    If (1) IsNumeric(temp)Then

      Msg Box“数据类型错误,请重试!”

    ElseIf CSng(temp)<0 Or CSng(temp)>100 Then

      MsgBox“数值范围错误,请重试!”

    Else:Exit Do

    End If

 Loop

 marks(i)=CSng(temp)

 If i=1 Then maxMark=(2):minMark=(2) 

 If marks(i)>maxMark Then maxMark=marks(i)

 If minMark>marks(i)Then (3) 

 sumMark=sumMark+marks(i)

    Text1.Text=Text1.Text & i & Chr(9) & marks(i) & vbCrLf输出第i个评委的评分

 Next

 mark=( (4))/8       ’计算选手最后得分

 Text1.Text=Text1.Text &"去掉一个最高分:"&maxMark&vbCrLf&_

     "去掉一个最低分:"&minMark&vbCrLf&_

     "选手最后得分:"&mark

End Sub

Private Sub Command2_Click() ’按钮“刷新屏幕”的单击事件响应代码

  (5).Text=“单击”输入评分“按钮,开始统分……”

End Sub

Private Sub Command3_Click() 按钮“退出程序”的单击事件响应代码

 End

End Sub

试题出自试卷《软件水平考试(初级)程序员下午(应用技术)模拟试卷15》
参考答案
查看试卷详情
相关试题
  1. 阅读以下程序说明和java代码,将应填入(n)处的字句写在对应栏内。

    [说明]

     本程序接收输入的学生信息,包括学号、姓名、成绩,原样输出信息并计算学生的平均成绩。其中学生类Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,还有两个静态变量 sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg()用于计算平均分。

    [Java代码]

    public class Stud {

     public int no;

     public String name;

     public double grade;

     public (1) double sum=0;

     public static int num=0;

     public Stud(int no,String name,double grade) {

      this.no = no;

      this.name = name;

      this.grade = grade;

      this.sum=(2);

       (3);

     }

     public static double avg(){

      return (4);

     }

     public void disp(){

      System.out.println(this.no+"\t"+this.name+"\t"+this.grade);

     }

     public static void main(String[] args) {

      Stud []students = {new Stud (1,"Li", 81), new Stud(2,"Zhao",84.5), new Stud(3,"Zhang", 87)};

      System.out.pfintln("no\tname\tgrade");

      students[0].disp();

      students[1].disp();

      students[2].disp();

      System.out.println("avg="+(5));

     }

    }

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

    [说明]

     本程序实现了雇员信息管理功能,其中封装了雇员信息及其设置、修改、删除操作。已知当输入为“Smith 31 2960.0”时,程序的输出是:

     姓名:Smith 年龄:31 工资:2960

     姓名:Smith 年龄:31 工资:3500

     姓名:Mary 年龄:23 工资:2500

    [C++程序]

    #include <iostream.h>

    #include <string.h>

    class employee{

      char *name; //雇员姓名

      short age; //年龄

      float salary;//工资

      public:

        employee();

        void set_name(char *);

        void set_age(short a) {age=a;}

        void set_salary(float s) {salary=s;}

         (1);

        ~ employee(){delete[] name;}

    };

    employee::employee() { name="";

     age=0;

     salary=0.0;

    void employee::set_name(char *n)

    { name=new char[strlen(n)+1];

     (2) (name,n);

    }

    void employee::print()

    { cout<<"姓名":"<<name<<" 年龄:"<<agc<<" 工资:" <<salary<<endl;

    }

    void main()

    { char *na;

     short ag=0;

     float sa=0;

      (3);

     na=new char[10];

     cin>>na>>ag>>sa;

     emp.set_name(na);

     emp.set_age(ag);

     emp.set_salary(sa);

     emp.print();

      (4) (3500.0);

     emp.print();

      (5);

     emp.set_name("Mary");

     emp.set_age(23);

     emp.set_salary(2500.0);

     emp.print();

    }

  3. 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

    [说明]

     某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:

     (1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser函数用于检查用户名和口令是否合法,返回真假值。

     (2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;

     (3)下载文件:从服务器端下载文件到本地。

       

     在开发过程中,本地驱动器列表框名为Drive1,本地和服务器端目录列表框分别名为Dir1和 Dir2,本地和服务器端文件列表框分别名为File1和File2,界面上有上至下四个按钮分别名为Command1至Command4。

    [Visual Basic代码]

    Private Sub Drive1_Change()

      (1)           ’更新目录列表框的路径

    End Sub

    Private Sub Dir1_Change()

      File1.Path=Dir1.Path   ’更新文件列表框file1的路径

    End Sub

    Private Sub Dir2_Change()

      File2.Path=Dir2.Path   ’更新文件列表框file2的路径

    End Sub

    ’连接服务器

    Private Sub Command1_Click()

      Dim user,password As String

      user=(2) (“请输入用户名:”)

      password=(2) (“请输入口令:”)

      If check User(user,password)Then        ’若用户名和口令正确

        Dir2.Path=……              ’打开服务器上某一指定目录

      Else: MsgBox“口令错误,请重试!”

      End If

    End Sub

    ’上传文件

    Private Sub Command2_Click()

      Dim fso As new FileSystemObject,f As File,i As Integer

      If File1.FileName=""Then     ’判断是否已经选中文件

       MsgBox“请选择本地的文件!”

       Exit Sub

     End If

     ’创建文件系统对象

     Set fso=CreateObject(“Scripting.FileSystemObject”)

     ’上传文件

    For i=0 To (3)             ’遍历文件列表框File1中的全体文件

       If (4) Then’若该文件被选中

         Set f=fso. (5) (Dir1.Path & “\” & File1.List(i))

         f.Copy Dir2.Path & “\” & File1.List(i),True   ’复制文件至服务器端

       End If

     Next

     File2.Refresh

    End Sub

    ’下载文件

    Private Sub Command3_Click()

      ……

    End Sub

    ’退出程序

    Private Sub Command4_Click()

      End

    End Sub

  4. 阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

    [说明]

     某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0到100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第i个评分为止。程序的运行界面如下:

        

     在开发过程中,文本框名为Text1,界面上有上至下三个按钮分别取名为CmdMark、CmdReresh和CmdExit。

    [Visual Basic代码]

    Private Sub CmdMark_Click()   ’按钮“输入评分”的单击事件响应代码

     Dim i As Integer,temp As Variant   ’声明变量

     Dim marks(1 To 10),maxMark,minMark,sumMark,mark As Single

     sumMark=0

     Text1.Text=“编号”&Chr(9)&“评分”& vbCrLf

     For i=1 To 10   ’接收十个评分输入

        Do While 1=1       ’验证并接收第i个评委的评分

        temp=InputBox(“请输入”&i&“号评委的评分:”)

        If (1) IsNumeric(temp)Then

          Msg Box“数据类型错误,请重试!”

        ElseIf CSng(temp)<0 Or CSng(temp)>100 Then

          MsgBox“数值范围错误,请重试!”

        Else:Exit Do

        End If

     Loop

     marks(i)=CSng(temp)

     If i=1 Then maxMark=(2):minMark=(2) 

     If marks(i)>maxMark Then maxMark=marks(i)

     If minMark>marks(i)Then (3) 

     sumMark=sumMark+marks(i)

        Text1.Text=Text1.Text & i & Chr(9) & marks(i) & vbCrLf输出第i个评委的评分

     Next

     mark=( (4))/8       ’计算选手最后得分

     Text1.Text=Text1.Text &"去掉一个最高分:"&maxMark&vbCrLf&_

         "去掉一个最低分:"&minMark&vbCrLf&_

         "选手最后得分:"&mark

    End Sub

    Private Sub Command2_Click() ’按钮“刷新屏幕”的单击事件响应代码

      (5).Text=“单击”输入评分“按钮,开始统分……”

    End Sub

    Private Sub Command3_Click() 按钮“退出程序”的单击事件响应代码

     End

    End Sub

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

    [说明]

     函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:

     (1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;

     (2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;

     (3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为n,则将其后继字符重复复制n+1次到新字符串中;

     (4)以上述一次变换为一组,在不同组之间另插入一个下划线‘_’用于分隔。

     例如:encode()函数对字符中26a3t2的变换结果为666_a_tttt_2。

     函数decode()用于经函数encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。

     注:假定调用变换函数encode()时的原始字符串中不包含下划线字符。

    [函数]

    int encode(char *instr,char *outstr)

    {  char *ip, *op,c;

      int k,n;

      ip=instr;

      op=outstr;

      while ( * ip) {

        if(*ip>='0'&&*ip<='9'&&*(ip+l)) {

          n=*ip-'0'+1;

          c=(1);

          for (k=0;k<n;k++) *op++=c;

        }

        else *op++=*ip;

        (2);

        ip++;

      }

      if (op>outstr) (3);

      *op='\0';

      (4);

    }

    int decode(char *instr,char *outstr)

    { char *ip,*op,c;

     int n;

     ip=instr; p=outstr;

     while ( *ip) {

        c=*ip;

        n=0;

        while( *ip==c&&n<10) {(5); n++; }

        if(n>1) *op+ + ='0'+n-1;

        * op++=c;

        if(*ip=='_') ip++;

     }

     *op='\0';

      (4);

    }

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

    [说明]

     链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针rear的单链表来实现链队。若链队元素的数据类型为datatype,则链队结构描述如下:

    typedef struct node

    { datatypedata;

     structnode *next;

    } QNode;  /*链队结点的类型*/

    typedef struct

    { QNnode  *front,*rear;

    } LQueue;  /*将头尾指针封装在一起的链队*/

     以下这种链队的几个例子:

     

     设q是一个指向链队的指针,即LQueue *q。下面各函数的功能说明如下:

     (1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队;

     (2) intEmpty_LQueue( LQueue *q):判断链队q是否空;

     (3) void In_LQueue(LQueue *q, datatypex):将数据x压入链队q;

     (4) int Out_LQueue(LQuere *q, datatype *x):弹出链队q的第一个元素x,若成功则返回返回1否则返回0。

    [函数]

    LQueae *Init_LQueue()

    { LQueue *q, *p;

     q=malloc(sizeof(LQueue)); /*申请链队指针*/

     P=malloc(sized(QNode));/*申请头尾指针结点*/

     p->next=NULL;

     (1)=p;

     return q;

    }

    int Empty_LQueue(LQueue *q)

    { if(q->front (2) q>rear) return 0;

     else return 1;

    }

    void In_LQueue(LQueue *q, datatype x)

    { QNoda *p;

     p=malloc(sizeof(QNnode));/*申请新接点*/

     p->data=x;

     p->next=NULL;

      (3)=p;

     q->rear=p;

    }

    int Out_LQueue(LQueue *q, datatype *x)

    { QNnode *p;

     if(Empty_LQueue(q)) return 0; /*队空,操作失败*/

     else{

       p=q->front->next;

       *x=(4);

        (5)=p->next;

       free(p);

       if (q->front->next= =NULL)q->rear=q->front;

       return 1;

     }

    }

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

    [函数2.1说明]

     Fibonacci数列中头两个数均为1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前15个数,并以每行5个数的格式输出。

    [函数2.1]

    #include <stdio.h>

    main()

    { int i,f,f1=1,f2=1;

     printf("%5d%5d",f1,f2);

     for(i=3;i<=15;i++){

       f=(1);

       printf("%5d",f);

       if((2)= =0) printf("\n");

       f1=12;

        (3);

     }

    }

    [函数2.2说明]

     函数fun(char *str1,char *str2)的功能是将字符串str2拼接到str1之后。

    [函数2.2]

    fun(char *str1,char *str2)

    { int i,j;

     for(i=0;str1[i]!='\0';i++);

     for(j=0;str2[j]!='\0';j++) (4);

     (5);

    }

  8. 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

    [说明]

     下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。

    [流程图]