设为首页 加入收藏

TOP

2011年计算机等级二级C语言填空题练习题及答案解析(3)
2014-11-07 21:15:07 来源: 作者: 【 】 浏览:38
Tags:2011年 计算机 等级 二级 语言 填空 习题 答案 解析

  1. 给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。


  int fun(int score[], int m, int below[])
  {int i, j = 0 ;
  float aver = 0.0 ;
  for(i = 0 ; i < m ; i++) aver += score[i] ;
  aver /= (float) m ;
  for(i = 0 ; i < m ; i++)
  if(score[i] < aver) below[j++] = ___1___ ;
  return j ;
  }
  main()
  {int i, n, below[9] ;
  int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90} ;
  n = fun(score, 9, ___2___) ;
  printf( "\nBelow the average score are: " ) ;
  for (i = 0 ; i < n ; i++) printf("%d ", ___3___) ;
  }


  第一处:score[i]
  第二处:below
  第三处:below[i]


  解析:求平均值,应先求和。此处,和 与平均值使用了同一个变量。
  Score[ ]是原来的成绩,
  Below【 】存放低于平均分的分数,还有人数。Below的长度一定不大于score的长度。Below的长度必须通过计数才能得到,且是在比较的过程中得到的。Below数组的长度用j来计数,其初值当然为0。
  Fun函数中:先求总分,平均分;再比较,比平均分低,存于below,j++。
  J是后加,不能错了。
  函数fun的返回值赋值给n,n就是below数组的长度。


  2. 在主函数中从键盘输入若干个数放入数组x中,用0结束输入但不计入数组。下列给定程序中,函数fun功能是:输出数组元素中小于平均值的元素。


  void fun(___1___,int n)


  {


  double sum=0.0;


  double average=0.0;


  int i=0;


  for(i=0;i


  ___2___;


  average=___3___;


  for (i=0;i


  if(x[i]


  {


  if(i%5==0)


  printf("\n");


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


  }


  }


  第一处:int x[]
  第二处:sum+=x[i]
  第三处:sum/n


  解析:算法思想同上题


  3. 请补全fun函数,该函数的功能是求不超过给定自然数的各个偶数之和。


  int fun(int x)


  {


  int i,s;


  s=___1___;


  for(___2___)


  s+=i;


  return s;


  }


  第一处:0
  第二处:i=2; i


  解析:求和,和的初值s为0。
  最小的非负偶数是0,偶数间的大小关系是
  相差2。


  4. 请补全main函数,该函数的功能是:计算并输出下列多项式的值。


  S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+……+50)


  #include


  ___1___ fun(int n)


  {


  int i,j;


  double sum=0.0,t;


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


  {


  t=0.0;


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


  t+= ___2___;


  sum+= ___3___;


  }


  return sum;


  }


  第一处:double
  第二处:j
  第三处:1.0/t


  解析:S中的每一项的分母是1+2+3+……+i 需要用一个一重循环实现,
  把所有商相加,需要用一个循环;
  组合起来整个就需要二重循环。内循环求每个单项的和,外循环求商的和。
  每单项的分子是1,应该用浮点数1.0;
  每单项的分母是求和,和的初值为0.0;
  函数的返回值是浮点数。


  5. 请补全main函数,该函数的功能是,计算两个自然数n和m(m<10000)之间所有数的和。n和m从键盘输入。


  main()


  {int n,m;


  long sum;


  ___1___;


  clrscr();


  printf("\nInput n,m\n");


  scanf("%d,%d",&n,&m);


  while( n<=m )


  {


  ___2___;


  n++;


  }


  printf("sum=% ___3___\n",sum);


  }


  第一处:sum=0
  第二处:sum += n
  第三处:ld


  解析:求和问题


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级二级C语言填空题.. 下一篇2011年计算机等级二级C语言填空题..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: