2020年计算机二级《C语言程序设计》模拟题(3)

扫码手机阅读
用圣才电子书APP或微信扫一扫,在手机上阅读本文,也可分享给你的朋友。
评论(0

  为了便于考生复习备考,圣才学习网小编精心整理了计算机二级C语言程序设计模拟题,欢迎大家点击查看!更多计算机考试动态|模拟试题|历年真题请关注圣才学习网圣才计算机学习网


  2020年计算机二级《C语言程序设计》模拟题(3)


  学生的记录由学号和成绩组成,N名学生的数据已在主函数中敲入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。


  注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


  /**********code.c**********/

  #include <stdio.h>

  #define   N   16

  typedef  struct

  {

   char num[10];

   int s;

  }STREC;

  void  fun( STREC  a[] )

  {

   STREC tmp;

   int i,j;

   for(i = 1; i < N; i++)

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

    {

     /* 请按题目要求,完成一下代码*/

    }

  }

  void main()

  {

   STREC  s[N] = {{"GA005",85}, {"GA003",76}, {"GA002",69}, {"GA004",85}, {"GA001",91}, {"GA007",72}, {"GA008",64}, {"GA006",87}, {"GA015",85}, {"GA013",91}, {"GA012",64}, {"GA014",91}, {"GA011",66}, {"GA017",64}, {"GA018",64}, {"GA016",72}};

   int  i;

   FILE *out ;

   fun(s);

   printf("The data after sorted :\n");

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

   {

    if((i)%4==0 )printf("\n");

    printf("%s  %4d  ",s[i].num,s[i].s);

   }

   printf("\n");

   out = fopen("out.dat","w");

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

   {

    if( (i)%4==0 && i) fprintf(out, "\n");

    fprintf(out, "%4d  ",s[i].s);

   }

   fprintf(out,"\n");

   fclose(out) ;

  }


  【答案】


  if(a[i].s<a[j].s)

  {

   tmp=a[j];

   a[j]=a[i];

   a[i]=tmp;

  }


  【解析】对N个数进行排序的算法很多,其中最简单的排序算法是冒泡算法。利用双层for循环嵌套和一个if判断语句来实现,外层循环用来控制需比较的轮数,内层循环用来控制两两比较。




计算机二级考试电子书

查看全部>>

小编工资已与此挂钩!一一分钱!求打赏↓ ↓ ↓

如果你喜欢本文章,请赐赏:

已赐赏的人
最新评论(共0条)评论一句