当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机操作题及答案(80)
发布时间:2011/7/22 10:16:10 来源:城市学习网 编辑:ziteng
  一、填空题
  请补充main函数,该函数的功能是:把一维数组中的元素逆置。结果仍然保存在原数组中。
  仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
  #include
  #define  N 10
  main()
  {
  int  i, j, t;
  int  bb[N];
  for (i=0; i  bb[i] = i;
  printf("\n****** original list *******\n");
  for (i=0; i  printf("M", bb[i]);
  for (j=0, ___1___; j<=i; j++, i--)
  {
  t = bb[j];
  ___2___;
  bb[i] = t;
  }
  printf("\n****** new list *******\n");
  for (i=0; i  printf("M", bb[i]);
  }
  答案:
  1、--i 或 i—或 i-=1 或 i=i-1
  2、bb[j]=bb[i] [NextPage]   二、改错题
  下列给定程序中函数fun的功能是:求出以下分数的前n项之和。
  和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。
  请改正程序中的错误,使它能得出正确的结果。
  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include
  #include
  /********found********/
  fun(int  n)
  {
  int  a, b, c, k;
  double  s;
  s = 0.0;
  a = 2;
  b = 1;
  for (k=1; k<=n; k++)
  {
  /********found********/
  s = s + (Double)a/b;
  c = a;
  a = a+b;
  b = c;
  }
  return s;
  }
  main()
  {
  int  n = 5;
  printf("\nThe value of function is :%lf\n", fun(n));
  }
  答案:
  1、fun(int n) 应改为 double fun(int n)
  2、s=s+(Double)a/b; 应改为 s=s+(double)a/b;
 [NextPage]   三、编程题
  程序定义了NⅹN的二维数组,并在主函数中自动赋值。请编写函数
  fun(int a[][N],int n),该函数的功能是:使数组左下半三角元素中的值乘以n。
  例如:若n的值为3,a数组中的值为
  则返回主程序后a数组中值应为
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写
  若干语句。
  #include
  #include
  #include
  #define N 5
  void  fun ( int a[][N], int n )
  {
  }
  main()
  {
  int a[N][N], n, i, j;
  FILE  *out;
  printf("***** The array *****\n");
  for ( i=0; i {
  for(j=0; j  {
  a[i][j]=rand();
  printf("M",a[i][j]);
  }
  printf("\n");
  }
  n = rand()%4;
  printf("n = M\n", n);
  fun ( a, n );
  printf("***** THE RESULT *****\n");
  for(i=0;i {
  for ( j=0; j   printf( "M", a[i][j] );
  printf("\n");
  }
  out=fopen ("out.dat", "w");
  for ( i=0; i  for(j=0; j   a[i][j]=i*j+1;
  fun(a, 9);
  for(i=0;i {
  for ( j=0; j   fprintf(out, "M", a[i][j] );
  fprintf(out, "\n");
  }
  fclose (out );
  }
  答案:
  fun(int a[][N],int n)
  {
  int i,j,;
  for(i=0;ifor(j=0;ja[i][j]=a[i][j]*n;
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved