无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2011年计算机等级二级C语言填空题练习题及答案解析(3)

2012-12-26来源/作者:卫凯点击次数:380

  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语言课后练习题及答案解析汇总

  2011年全国计算机等级二级C笔试考前练习习题汇总

  计算机等级考试二级C语言上机试题上汇总

  计算机等级考试二级C语言上机模拟试题及答案

  全国计算机等级考试二级C语言程序设计实战





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策