当前位置:首页 > 百科 > 正文

三级C语言程序设计

三级C语言程序设计是为了适应现代社会对计算机人才的需要,是在大多数大学普及的一门计来自算机编程初级课程。三级C语言程序设计是C语言的入门课,为学生了解编程,在编程上不断深入打下基础。三级C语言程序设计每年有一次考试,每个学校按国家标准独立设立考场,考试分笔试绿和机试两部分,考试通过者发三级360百科C语言计算机证书。

  • 中文名称 三级C语言程序设计
  • 性质 C语言的入门课
  • 上机环境 Visual C++6.0
  • 上机考试时间 60分钟

三级C语言简介

  三级C语言程序设计是全国计算机等级考试(NC乙即新专意RE)三级网络技术,数据库技术报矿风哥,信息管理技术上机考试考核内容。一般每次考试题库由100道C语言程序设计题组成(俗称"南开百题")。上机考试时每个考来自生从百题题库中随机抽选一题,在规定的时间内完成其程序设计要求。

考试时间

  2009年上半年考试时间定于3月28日至4月1日,下半年为9月19日至23日。一般上午考笔试,上机考试从笔试的当天下午开始,有时是第二天上午。具体见考试通证开族度斯额少围挥批知或考生准考证。

  上机考试时间为60分钟。

上机环境

  Visual C++来自6.0

题型分类

  求取给定范围的多个素数

  数位分解后按数位数字筛矿茶管上法季选统计并排序

  以待沉脱通限且石哪慢袁力速定字母分割字符串并重组

  按结构体成员进行多关360百科键字排序

  字符串排序

  数据相邻数筛选统计并排序

  字符替换

  字符见基固别串搜索

  以递推关系求数列值

  用迭代法求方程的根

  对给定范围内的数进效指否衡点行筛选并统计

  判断回文

  数值筛选与统计

  数位分解并重组后再筛选统计并排序

  计算方差

  选票问题

  SIX与NINE问题

  特殊排序

  出圈问题

  结构体筛选并排序

  字符串循环位移

例题参考

题目

示酒  已知数据文件击每永鲜国江回历IN.DAT存有200个四位数,并以调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数 各位上的数字均是0或2或4或6或8,则统计出满足此周承呢办几规念担粒条件的个数cnt,并把这些亚养具四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT中。

  注还表只般显尽孙儿哪意:部分程序已给出。

  程序中已定义数组a[200],b[20磁较量压端府运0];已定义变量:cnt。

  请勿改动数课味北民阶置联据文件IN.DAT中的任何数据及主函数main()、读函数readDat和写函数writeDat()的内容。

某考生的程序

  (因为此处没有数据文件IN.DAT,所以读者拷贝该程序,编译能通过,但执行不起来)

  #incl跑木ude <stdio.h>

 采水苗矿 #define MAX 200

  int a[MAX]抓副另夜花移参密船或, b[MAX], cnt = 0;

  void jsVal()

  {

  int m,j,k,gg,ss,bb,qq,data;

  for(m=完西被般班灯饭责垂附0;m<200;m++)

  {qq=a[m]/1000;

  bb=a[m]%1000/100;

  ss=a[m]%100/10;

  gg=a[m花简京]%10;

  if(qq%2==0&&bb%2==0&&ss%2==0&&gg%2==诉运校议死即叶事0)

  {

  b[cnt]=a[m];

  cnt++;

  }

  m++;

  }

  for(j=0;j<cnt-1;j++)

  for(k=j+1;k<cnt;k++)

  if(b[j]<b[k])

  {

  data=b[k];

  b[k]=b[j];

  b[j]=data;

  }

  }

  void readDat()

  {

  int i;

  FILE *fp;

  fp = fopen("IN.DAT", "r");

  for (i=0; i<MAX; i++)

  fscanf(fp, "%d,", &a[i]);

  fclose(fp);

  }

  void writeDat()

  {

  FILE *fp;

  int i;

  fp = fopen("OUT.DAT", "w");

  fprintf(fp, "%d\n", cnt);

  for (i=0; i<cnt; i++)

  fprintf(fp, "%d\n", b[i]);

  fclose(fp);

  }

  void main()

  {

  int i;

  readDat();

  jsVal();

  printf("满足条件的数=%d\n", cnt);

  for (i=0; i<cnt; i++)

  printf("%d ", b[i]);

  printf("\n");

  writeDat();

  }

  以上运行的结果是:

  满足条件的数=4

  6662 4602 2668 2264

  正确答案应该如下:

  满足条件的数=6

  6662 6604 4602 2842 2668 2664

评分参考

  (一般采用评分软件评分)

  本题共100分。

  可执行文件 已生成

  输出文件 存在

  第1行数据应为:6 结果不正确;

  第2行数据应为:6662 结果正确;

  第3行数据应为:6604 结果不正确;

  第4行数据应为:4602 结果不正确;

  第5行数据应为:2842 结果不正确;

  第6行数据应为:2668 结果不正确;

  第7行数据应为:2264 结果不正确;

  本题共应输出7行数据,1行结果正确,得14分。

  如果所编程序编译不成功,或者可执行文件未生成,直接判0分。因此在上机考试成绩中,0分和100分的分布比例比较大。

参考程序

  void jsVal()

  {

  int bb[4];

  int i, j, k, flag;

  for (i=0; i<200; i++)

  {

  bb[0] = a[i]/1000;

  bb[1] = a[i]%1000/100;

  bb[2] = a[i]%100/10;

  bb[3] = a[i]%10;

  for (j=0; j<4; j++)

  {

  if (bb[j]%2 == 0)

  {

  flag = 1;

  }

  else

  {

  flag = 0;

  break;

  }

  }

  if (flag == 1)

  {

  b[cnt] = a[i];

  cnt++;

  }

  }

  for (i=0; i<cnt-1; i++)

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

  if (b[i] < b[j])

  {

  k = b[i];

  b[i] = b[j];

  b[j] = k;

  }

  }

展开全文阅读

上一篇
三级预防

下一篇
宝农12