就业数据资源平台
当前位置:首页 > C++语言程序设计
2013年计算机二级考试C++模拟试题28

  1请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。 


  答案:


  void fun(int a, int b, long *c)


  {


  *c=(a)*1000+(b)*100+(a/10)*10+b/10;


  }


  2请编写函数fun,它的功能是计算:s=(ln(1)+ln(2)+ln(3)+…+ln(m))(0.5),s作为函数值返回。 


  答案:


  double fun(int m)


  {


  int I;


  double s=0.0, log(double x);


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


  s=s+log(i);


  s=sqrt(s);


  return s;


  }


  3请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。


  S=1+x+x(2)/2!+x(3)/3!+…x(n)/n! 


  答案:


  double fun(double x, int n)


  {


  double s=1.0, p=1.0;


  int I,j,t;


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


  {


  t=1;


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


  t=t*j;


  p=p*x;


  s=s+p/t;


  }


  return s;


  }


  4规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。 


  答案:


  void fun(char *a)


  {


  int i=0;


  char *p=a;


  while(*p&&*p==‘*’)


  p++;


  while(*p)


  {


  a[i]=*p;


  i++;


  p++;


  }


  a[i]=‘\0’;


  }


  5假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做。字符串中间和尾部的*号不删除。 


  答案:


  void fun(char *a, int n)


  {


  int i=0,k=0;


  char *t=a;


  while(*t==‘*’)


  {


  k++;


  t++;


  }


  t=a;


  if(k>n)


  t=a+k-n;


  while( *t)


  a[i]=*t;


  i++;


  t++;


  }


  a[i]=‘\0’;


  }

就业数据资源平台