设为首页 加入收藏

TOP

2011年计算机二级C语言上机题库及答案(4)
2014-11-23 22:07:39 】 浏览:347
Tags:2011年 计算机 二级 语言 上机 题库 答案

  学生数据输出到filename所指的文件中,覆盖原来的文件内容。


  请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。


  注意:源程序存放在考生文件夹下BLANK1.C中。


  不得增行或删行,也不得更改程序的结构!


  给定源程序:


  #include


  #define N 5


  typedef struct student {


  long sno;


  char name[10];


  float score[3];


  } STU;


  void fun(char *filename)


  {FILE *fp; int i, j;


  STU s[N], t;


  /**********found**********/


  fp = fopen(filename, __1__);


  fread(s, sizeof(STU), N, fp);


  fclose(fp);


  for (i=0; i


  for (j=i+1; j


  /**********found**********/


  if (s[i].sno __2__ s[j].sno)


  {t = s[i]; s[i] = s[j]; s[j] = t;}


  fp = fopen(filename, "wb");


  /**********found**********/


  __3__(s, sizeof(STU), N, fp); /* 二进制输出 */


  fclose(fp);


  }


  main()


  {STU t[N]={ {10005,"ZhangSan", 95, 80, 88}, {10003,"LiSi", 85, 70, 78},{10002,"CaoKai", 75, 60, 88}, {10004,"FangFang", 90, 82, 87},{10001,"MaChao", 91, 92, 77}}, ss[N];


  int i,j; FILE *fp;


  fp = fopen("student.dat", "wb");


  fwrite(t, sizeof(STU), 5, fp);


  fclose(fp);


  printf("\n\nThe original data :\n\n");


  for (j=0; j


  {printf("\nNo: %ld Name: %-8s Scores: ",t[j].sno, t[j].name);


  for (i=0; i<3; i++) printf("%6.2f ", t[j].score[i]);


  printf("\n");


  }


  fun("student.dat");


  printf("\n\nThe data after sorting :\n\n");


  fp = fopen("student.dat", "rb");


  fread(ss, sizeof(STU), 5, fp);


  fclose(fp);


  for (j=0; j


  {printf("\nNo: %ld Name: %-8s Scores: ",ss[j].sno, ss[j].name);


  for (i=0; i<3; i++) printf("%6.2f ", ss[j].score[i]);


  printf("\n");


  }


  }


  解题答案:


  /**********第一空**********/


  fp = fopen(filename, "rb");


  /**********第二空**********/


  if (s[i].sno > s[j].sno)


  /**********第三空**********/


  fwrite(s, sizeof(STU), N, fp); /* 二进制输出 */


  ******************************************


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2011年计算机二级C语言上机题库及.. 下一篇2011年计算机二级C语言第七十七套..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目