当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言上机题库及答案(46)
发布时间:2011/9/16 11:19:13 来源:城市学习网 编辑:ziteng
  一、填空题:函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。

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

  注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

  给定源程序:

  #include

  int fun(int n)

  {int i,j, count=0;

  printf("\nThe prime number between 3 to %d\n", n);

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

  /**********found**********/

  for (___1___; j

  /**********found**********/

  if (___2___%j == 0)

  break;

  /**********found**********/

  if (___3___>=i)

  {count++; printf(count? "]":"\n]", i);}

  }

  return count;

  }

  main()

  {int n=20, r;

  r = fun(n);

  printf("\nThe number of prime is : %d\n", r);

  }

  解题答案:

  /**********第一空**********/

  for (j=3; j

  /**********第二空**********/

  if (i%j == 0)

  /**********第三空**********/

  if (j>=i)

  ****************************************** [NextPage]  二、改错题:数列中,第一项值为3, 后一项都比前一项的值增5;给定程序MODI1.C中函数fun的功能是: 计算前n(4

  例如, 当n的值为20时,该数列为3,8,13,18,23,28,……,93,98。符合此条件的累加值应为42,126,366,570,1010。

  请改正函数fun中指定部位的错误, 使它能得出正确的结果。

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

  给定源程序:

  #include

  #define N 20

  int fun(int n,int *a)

  {int i,j,k,sum;

  /**************found**************/

  sum=j==0;

  for(k=3,i=0;i

  {sum=sum+k;

  /**************found**************/

  if(sum%4=2)

  a[j++]=sum;

  }

  return j;

  }

  main()

  {int a[N],d,n,i;

  printf("\nEnter n (4

  d=fun(n,a);

  printf("\n\nThe result :\n");

  for(i=0; i

  }

  解题答案:

  /**************found**************/

  sum=0;j=0;

  /**************found**************/

  if(sum%4==2)

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

  [NextPage]   二、改错题:数列中,第一项值为3, 后一项都比前一项的值增5;给定程序MODI1.C中函数fun的功能是: 计算前n(4

  例如, 当n的值为20时,该数列为3,8,13,18,23,28,……,93,98。符合此条件的累加值应为42,126,366,570,1010。

  请改正函数fun中指定部位的错误, 使它能得出正确的结果。

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

  给定源程序:

  #include

  #define N 20

  int fun(int n,int *a)

  {int i,j,k,sum;

  /**************found**************/

  sum=j==0;

  for(k=3,i=0;i

  {sum=sum+k;

  /**************found**************/

  if(sum%4=2)

  a[j++]=sum;

  }

  return j;

  }

  main()

  {int a[N],d,n,i;

  printf("\nEnter n (4

  d=fun(n,a);

  printf("\n\nThe result :\n");

  for(i=0; i

  }

  解题答案:

  /**************found**************/

  sum=0;j=0;

  /**************found**************/

  if(sum%4==2)

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

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved