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

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

13-11-09        来源:[db:作者]  
收藏   我要投稿
  给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵

  1 2 3 

  4 5 6 

  7 8 9 

  程序执行结果为 

  0 0 1 

  0 0 4 

  0 0 7 

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 

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

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

  给定源程序: 

  #include  

  #define N 4 

  void fun(int (*t)[N], int m) 

  { int i, j; 

  for(i=0; i  { for(j=N-1-m; j>=0; j--) 

  t[i][j+___2___ ]=t[i][j]; 

  for(j=0; j<___3___; j++) 

  t[i][j]=0; 

  } 

  } 

  main() 

  { int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m; 

  printf("nThe original array:n"); 

  for(i=0; i  { for(j=0; j  printf("- ",t[i][j]); 

  printf("n"); 

  } 

  printf("Input m (m<=%d): ",N);scanf("%d",&m); 

  fun(t,m); 

  printf("nThe result is:n"); 

  for(i=0; i  { for(j=0; j  printf("- ",t[i][j]); 

  printf("n"); 

  } 

  }

 解题思路: 

  第一处:for循环变量的增量,所以应填:i++。 

  第二处:由于右移m个位置,所以应填:m。 

  第三处:左边m列均置于0,所以for循环的终止值应为m。 

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

  给定程序MODI1.C中函数 fun 的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。若high的值为: 100, 则函数的值为: 732。 

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

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

  给定源程序: 

  #include  

  #include  

  int fun( int high ) 

  { int sum = 0, n=0, j, yes; 

  while ((high >= 2) && (n < 10) 

  { yes = 1; 

  for (j=2; j<=high/2; j++ ) 

  if (high % j ==0 ){ 

  yes=0; break 

  } 

  if (yes) { sum +=high; n++; } 

  high--; 

  } 

  return sum ; 

  } 

  main ( ) 

  { 

  printf("%dn", fun (100)); 

  }

  解题思路: 

  第一处:括号没有匹配。Error: While statement missing ) in function fun 

  在函数fun中While语句缺少)。 

  第二处:缺少分号。Error: Break statement missing ; in function fun 

  在函数fun中break语句缺少; 

  这种题型只要通过编译即可发现程序的错误所在。 

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

  编写函数fun,它的功能是:利用以下所示的简单迭代方法求 

  方程:cos(x)-x=0 的一个实根。 迭代步骤如下: 

  (1)取 x1 初值为0.0; 

  (2)x0 = x1,把x1的值赋给 x0; 

  (3)x1 = cos(x0),求出一个新的x1; 

  (4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执行步骤(2); 

  (5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 程序将输出结果Root=0.739085。 

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

  请勿改动主函数main和其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。 

  给定源程序: 

  #include  

  #include  

  float fun() 

  { 

  } 

  main() 

  { 

  printf("Root =%fn", fun()); 

  NONO(); 

  } 

  解题思路: 

  本题是根据给定的公式及条件来计算方程的一个实根。 

  参考答案: 

  float fun() 

  { 

  float x0, x1=0.0; 

  do { 

  x0=x1; 

  x1=cos(x0); 

  } while(fabs(x0-x1)>0.000001); 

  return x1; 

  } 

相关TAG标签
上一篇:2014年计算机二级C语言上机模拟试题60
下一篇:腾讯周边商城盛大开业 抽取Q币 蓝钻 T桖 鼠标 红米手机 电水壶等
相关文章
图文推荐

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

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