频道栏目
首页 > 资讯 > C语言 > 正文

2014年计算机二级C语言上机模拟试题75

13-11-18        来源:[db:作者]  
收藏   我要投稿
 给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。 

  例如,当形参n的值为10时,函数返回:-0.204491。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 

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

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

  给定源程序: 

  #include  

  double fun(int n) 

  { int i, k; double s, t; 

  s=0; 

  k=__1__; 

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

  t=__2__; 

  s=s+k*(2*i-1)*(2*i+1)/(t*t); 

  k=k*__3__; 

  } 

  return s; 

  } 

  main() 

  { int n=-1; 

  while(n<0) 

  { printf("Please input(n>0): "); scanf("%d",&n); } 

  printf("nThe result is: %fn",fun(n)); 

  }

  解题思路: 

  第一处:k是用来管理正负号的,公式中第一个值是正数,所以应填:1。 

  第二处:根据公式,t是2i,所以应填:2*i。 

  第三处:根据公式,第2个是负数,所以应填:(-1)。 

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

  给定程序MODI1.C中函数 fun 的功能是:判断一个整数是否是素数,若是返回1,否则返回0。 

  在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 

  请改正程序中的错误,使它能得出正确的结果。 

  注意:不要改动main函数。不得增行或删行,也不得更改程序的结构! 

  给定源程序: 

  #include  

  int fun ( int m ) 

  { int k = 2; 

  while ( k <= m && (m%k)) 

  k++ 

  if (m = k ) 

  return 1; 

  else return 0; 

  } 

  main( ) 

  { int n; 

  printf( "nPlease enter n: " ); scanf( "%d", &n ); 

  if ( fun ( n ) ) printf( "YESn" ); 

  else printf( "NO!n" ); 

  }

 解题思路: 

  第一处:语句后缺少分号。 

  第二处:条件判断相等的符号是==。 

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

  请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所 在的下标, 最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名, n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 

  注意: 部分源程序存在文件PROG1.C文件中。 

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 

  你编写的若干语句。 

  给定源程序: 

  #include  

  #include  

  void fun(int a[], int n , int *max, int *d ) 

  { 

  } 

  main() 

  { int i, x[20], max , index, n = 10; 

  randomize() ; 

  for (i=0;i < n;i++) {x[i] = rand()P; printf("M", x[i]) ; } 

  printf("n"); 

  fun( x, n , &max, &index); 

  printf("Max =] , Index =Mn",max, index ); 

  NONO(); 

  }

  解题思路: 

  本题是找出一维整型数组元素中最大的值和它所在的下标, 最大的值和它所在的下标通过形参传回。具体看参考源程序中的说明。 

  参考答案: 

  void fun(int a[], int n , int *max, int *d ) 

  { 

  int i ; 

  *max=a[0];*d = 0 ; /* 把数组的第1个元素值赋值给最大值变量*max */ 

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

  if(*max < a[i]) { /* 判断*max是否小于当前值 */ 

  *max = a[i]; /* 重新把最大值赋值给*max */ 

  *d = i ; /* 记住下标 */ 

  } 

  } 

  ※※※※※※※※※※※※※※※※※※※※※※※※※

相关TAG标签
上一篇:2014年计算机三级数据库填空题练习5
下一篇:2014年计算机二级C语言上机模拟试题76
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站