中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

计算机等级考试二级上机指南(下)

陈智罡 2000-10-24 11:31:03

程序编制题
  C语言部分:
  说明:C 程序设计为二级 C 上机操作第三题,分值为 40 分,要求将给定的程序编制完全。
  试题说明:函数fun的功能是将s所指字符串中下标为奇数的字符删除,s中剩余的字符形成一个新串放在t所指的数组中。
  例如,当s所指字符串为“ABCDEFGHIJK”时,t所指的数组的内容应是“ACEGIK”。注意: 部分源程序存在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
  程序 :
  #include 〈conio.h〉
  #include 〈stdio.h〉
  #include 〈string.h〉
  void fun(char *s, char t[])
  { 
  }
  main()
  {
   char s[100], t[100];
   clrscr();
   printf("\nPlease enter string S:"); scanf("%s", s);
   fun(s, t);
   printf("\nThe result is: %s\n", t);
   NONO();
  }
  NONO( )
  {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
   char s[100], t[100] ;
   FILE *rf, *wf ;
   int i ;
   rf = fopen("bc01.dat", "r") ;
   wf = fopen("bc01.out", "w") ;
   for(i = 0 ; i 〈 10 ; i++) {
    fscanf(rf, "%s", s) ;
    fun(s, t) ;
    fprintf(wf, "%s\n", t) ;
   }
   fclose(rf) ;
   fclose(wf) ;
  }
  参考答案:
    void fun(char *s, char t[])
     { int i =0,j=0;
       while(*(s+j)!=’\0’)
        { if (j %2= =0)
         t[i]=*s;i++;
        j++;
       }
       t[i]= ’\0’;
     }
  分析:实参s和t都是数组,形参s是指针变量,t是数组,调用fun函数后,形参s指向实参s数组的起始位置,通过条件j %2= =0判断数组的下标是奇数还是偶数,若为偶数,将指针s所指的字符赋给数组t,以达到将字符串中下标为奇数的字符删除的目的。

  FoxBASE语言部分:
  试题说明:已给定职工数据库文件ZG.DBF(含有编号,姓名,基本工资等字段),考试成绩数据库文件KS.DBF(含有编号,姓名,考试成绩等字段)。请编写程序PROG%.PRG,完成以下数据操作:
  1、通过ZG.DBF复制生成工资数据库文件GZ.DBF,使其具有编号、姓名和基本工资三个字段数据。
  2、按考试成绩对GZ.DBF中的工资字段数据进行修改:凡考试成绩80分以上者基本工资增加50元,70分到80分者增加30元,60分到69分者增加10元。
  参考答案:
  USE ZG
  COPY TO GZ FIELDS 编号,姓名,基本工资
  SELECT 2
  USE KS
  INDEX ON 编号 TO KSIDX
  USE KS INDEX KSIDX
  SELECT 1
  USE GZ
  SET RELATION TO 编号 INTO B
  DO WHILE .NOT. EOF()
  DO CASE
   CASE B-〉考试成绩〉80
    REPLACE 基本工资 WITH 基本工资+50
   CASE B-〉考试成绩〉70 .AND. B-〉考试成绩〈=80
    REPLACE 基本工资 WITH 基本工资+30
   CASE B-〉考试成绩〉=60 .AND. B-〉考试成绩〈=69
    REPLACE 基本工资 WITH 基本工资+10
  ENDCASE
  SKIP
  ENDDO
  LIST
  SET RELATION TO
  CLOSE DATABASE
  分析:第一题用COPY命令进行复制即可。第二题中涉及到基本工资和考试成绩这两个字段,但这两个字段分别属于GZ和KS这两个数据库,因此要想同时对这两个字段操作,必须要使GZ和KS这两个数据库进行关联,GZ和KS中有一个共同的字段编号,可以作为这两个数据库的关联字段。由于是对考试成绩分段进行增加工资,所以用条件分支结构DO CASE能较好的实现。

  Qbasic语言部分:
  说明:QBASIC 程序编制题是二级 QBASIC 上机操作第三题,分值为 40 分,要求是按题目要求在出现方括号的地方填上适当的语句,使之正确。
  试题说明: 编制程序PROG1.BAS其功能是: 求 2*4*6*8*…*30 的值。请在【1】、【2】及【3】三处将程序补充完整。
  程序
  t = 【1】
  FOR j = 2 TO 30 【2】
  t = t * 【3】
  NEXT j
  PRINT t
  END
  答案:第一处填:t=1  第二处填:STEP 2  第三处填:t=t*j
  分析:改程序要求连乘积的值,所以可用一个循环来实现,变量t用于存放连乘积的值,它的初值应为1,变量j用于提供从2到30之间的偶数,跳出循环后,输出变量t的值,即2*4*6*8*…*30 的值。(全文完)

赛迪网
相关报道
等级考试热线问答 (2000-10-24 11:26:39)
试题解析Windows版--计算机等级考试(一级) (2000-10-24 10:47:04)
等级考试——哪种考试适合你 (2000-10-24 10:46:40)




科技检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱