模拟试题

3773考试网计算机等级考试模拟试题正文

2010年下半年NCRE二级C语言上机冲刺模拟二

来源:fjzsksw.com 2010-9-14 13:44:07

 

]2010年下半年NCRE二级C语言上机冲刺模拟一

 

一、改错题

  含有错误的源程序如下:

  #include

  #include

  struct T

  {char name [20],num[20];

  };

  void sort(struct T items[],int low,int high)

  {struct T temp;

  int k,j;

  for(k=low;k

  for(j=low;j

  if(items[j].name>items[j+1].name)            ②

  {temp=items[j];items[j]=items[j+1];items[j+1]=temp;}

  }

  void main(void)

  {struct T stu[4]={"Wang","6723","Cai","2106","Zhang",     ③

  "5129","Chang","4512","An","6868"};

  int k;

  sort(stu,0,4);

  printf("The Sorted Array:\n");

  for(k=0;k<5;k++)

  printf("name:%s,num:%s\n",stu[k]->name,stu[k]->num);    ④

  }

  【知识点】冒泡排序、结构体数组、程序的调试

  【解析】程序中的错误一般可以分为两类,一类是语法错误,即程序中有拼写错误,书写不符合C语言的规定等,此类错误可通过调试(按F9键),根据提示进行改正。另一类是逻辑错误,程序调试已通过(报success),但运行结果不正确,此类错误的修改必须要理解程序后方能改正。

  本题使用起泡法完成排序,①处j

  【答案】加下划线的部分改为:

  ①j

  ②if(strcmp(items[j].name, items[j+1].name)>0)

  ③stu[5]

  ④stu[k].name, stu[k].num

 

 

[1] [2] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1