试题 百分网手机站

全国计算机二级考试《C语言》冲刺模拟题七

时间:2020-11-05 18:29:22 试题 我要投稿

2015年全国计算机二级考试《C语言》冲刺模拟题(七)

  1: 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。

2015年全国计算机二级考试《C语言》冲刺模拟题(七)

  答案:

  void fun(char *s,char t[])

  {

  int I,j=0,n;

  n=strlen(s);

  for(i=0;I,n;i++)

  if(i%2==0&&s[i]%2==0)

  {

  t[j]=s[i];

  j++;

  }

  t[j]=‘\0’;

  }

  2: 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。

  答案:

  void fun(char *s,char t[])

  {

  int I,j=0,n;

  n=strlen(s);

  for(i=0;I,n;i++)

  if(i%2!=0&&s[i]%2!=0)

  {

  t[j]=s[i];

  j++;

  }

  t[j]=‘\0’;

  }

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

  答案:

  void fun(char *a,int n)

  {

  int i=0;k=0;

  char *p, *t;

  p=t=a;

  while (*t)

  t++;

  t--;

  while(*t==‘*’)

  {

  k++;

  t--;

  }

  t++;

  if(k>n)

  {

  while (*p&&p

  {

  a[i]=*p;

  i++;

  p++;

  }

  a[i]=‘\0’;

  }

  }

  4: 学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

  答案:

  int fun (STREC *a, STREC *b)

  {

  int I,j=0,n=0, max;

  max=a[0].s;

  for(i=0;i

  if(a[i].s>max)

  max=a[i].s;

  for(i=0;i

  if(a[i].s==max)

  {

  *(b+j)=a[i];

  j++;

  n++;

  }

  return n;

  }

  5: 请编写一个函数,用来删除字符串中的所有空格。

  答案:

  void fun(char *str)

  {

  int i=0;

  char *p=str;

  while (*p)

  {

  if(*p!=‘’)

  {

  str[i]=*p;

  i++;

  }

  p++;

  }

  str[i]=‘\0’;

  }