当前位置: 首页 > 自学考试 > 自学考试模拟试题 > 2013自考“高级语言程序设计”习题答案详解(47)

2013自考“高级语言程序设计”习题答案详解(47)

更新时间:2012-12-07 09:39:17 来源:|0 浏览0收藏0

自学考试报名、考试、查分时间 免费短信提醒

地区

获取验证 立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

  5.编程序,对上一题中名为“CCW.TXT”的磁盘文件中“@”之前的所有字符解密并显示。

  「解」要编写的程序完成与上一程序功能相反的工作,将上述程序中的DALTA定义成一10即可。完整程序略。

  6.输入100个学生的信息(含学号、姓名、年龄、七门课程成绩、总分),其中学生的总分由程序计算产生。先将学生信息存入磁盘二进制数据文件student.dat中。然后再读取该文件,寻找总分最高的学生并输出该生的所有信息。

  「解」程序要定义一个结构,逐一输入学生信息,并完成学生的总分计算,将学生信息存到该结构中,然后将该结构信息存入文件。设学生信息的输入以学生的学号为负数结束。然后,程序再用循环从这文件读入学生信息,将其中总分更高的学生信息存入另一结构中。循环结束后,结构中存储的就是总分最高学生的信息。最后,显示这总分最高的学生信息。程序如下:

  # include

  # include

  # include

  struct stu {

  long no;

  char name[20];

  int age;

  int score[7];

  int total;

  } student, maxs;

  FILE *fp;

  void main()

  { char buf[120];int total,i,t;long lt;

  if((fp= fopen(“student.dat”,“wb”))== NULL) {

  printf(“Can‘t open file %s.\n”,“student.dat” );exit(0);

  }

  printf(“输入学生的学号、姓名、年龄、七门课程成绩(学号小于0结束) \n”);

  while(1) {

  scanf(“%ld”, <); student.no = lt;

  if(student.no< 0) break;

  scanf(“%s”, buf); strncpy( student.name, buf,19);

  scanf(“%d”, &t); student.age = t;

  for( total = 0, i = 0; i < 7;i++) {

  scanf(“%d”,&t); student.score= t;

  total+= t;

  }

  student.total= total;

  fwrite(char *) & student,sizeof student, 1, fp);

  }

  fclose(fp);

  if((fp = fopen(“student.dat”,“rb”))== NULL) {

  printf(“Can‘t open file %s.\n”,“student.dat”);exit(0);

  }

  maxs.total=-100;

  While( !feof(fp)) {

  fread((char *) & student,sizeof student,l,fp);

  if( student.total> maxs.total) maxs=student;

  }

  fclose(fp);

  printf(“总分最高的学生信息:\n”);

  printf(“学号:%ld”, maxs.no);

  printf(“ \t姓名:%s”,maxs,name);

  printf(“\t年龄::%d\n成绩:”, maxs.age)

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

  printf(“m”,maxs.score);

  printf(“\nTOTAL = %d\n”, maxs. total);

  }

?2013年高教自考网络辅导课程招生简章

?2013年1月自考报名

更多信息请访问:自学考试频道    自学考试论坛

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习

自学考试资格查询

自学考试历年真题下载 更多

自学考试每日一练 打卡日历

0
累计打卡
0
打卡人数
去打卡

预计用时3分钟

自学考试各地入口
环球网校移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载

返回顶部