试题

计算机三级《数据库技术》专项练习题

时间:2025-06-04 20:28:50 试题 我要投稿
  • 相关推荐

2016计算机三级《数据库技术》专项练习题

  第1题 请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

  答案:

  void fun(char *s,int num)

  {

  char t;

  int I,j;

  for(i=1;i

  for(j=i+1;j

  if(s[i]

  {

  t=s[i];

  s[i]=s[j];

  s[j]=t;

  }

  }

  第2题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。

  答案:

  double fun(STREC *h)

  {

  double max;

  STREC *q=h;

  max=h->s;

  do

  {

  if(q->s>max)

  max=q->s;

  q=q->next;

  }

  while(q!=0);

  return max;

  }

  第3题 请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。

  答案:

  int fun(char *str)

  {

  int I,n=0;fg=1;

  char *p=str;

  while (*p)

  {

  n++;

  p++;

  }

  for(i=0;i

  if (str[i]==str[n-1-i]);

  else

  {

  fg=0;

  break;

  }

  return fg;

  }

  第4题 请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。

  答案:

  long fun (char *p)

  {

  long s=0,t;

  int i=0,j,n=strlen(p),k,s1;

  if(p[0]==‘-’)

  i++;

  for(j=I;j<=n-1;j++)

  {

  t=p[j]-‘0’;

  s1=10;

  for(k=j;k

  t*=s1;

  s+=t;

  }

  if(p[0]==‘-’)

  return –s;

  else

  return s;

  }

  第5题 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

  答案:

  char *fun(char *s,char *t)

  {

  char *p,*t1=t,*s1=s;

  int n=0;m=0;

  while (*s1)

  {

  n++;

  s1++;

  }

  while(*t1)

  {

  m++;

  t1++;

  }

  if(n>=m)

  p=s;

  else

  p=t;

  return p;

  }

  第6题 请编写一个函数fun,它的功能是:根据以下公式求x的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):

  x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)

  程序运行后,如果输入精度0.0005,则程序输出为3.14…。

  答案:

  double fun(double eps)

  {

  double s;

  float n,t,pi;

  t=1;pi=0;n=1.0;s=1.0;

  while((fabs(s))>=eps)

  {

  pi+=s;

  t=n/(2*n+1);

  s*=t;

  n++;

  }

  pi=pi*2;

  return pi;

  }

  第7题 请编写一个函数fun,它的功能是:求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

  答案:

  void fun(int m, int *a, int *n)

  {

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

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

  if (i%7==0 || i%11 ==0)

  {

  a[j]=I;

  j++;

  }

  *n=j;

  }

  第8题 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

  答案:

  void fun (int a[],int n, int *max, int *d)

  {

  int I;

  *max=a[0];

  *d=0;

  for(i=0;I

  if(a[i]>*max)

  {

  *max=a[i];

  *d=I;

  }

  }

  第9题 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

  答案:

  void fun(char *ss)

  {

  int I,n;

  n=strlen(ss);

  for(i=1;i

  if(ss[i]>=‘a’&& ss[i]<=‘z’)

  ss[i]=ss[i]-32;

  }

  第10题 请编写一个函数fun,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。

  答案:

  int fun(int a[][M])

  {

  int I,j,max;

  max=a[0][0];

  for(i=0;i<2;i++)

  for(j=0;j

  if(a[i][j]>max)

  max=a[i][j];

  return max;

  }

  第11题 请编写函数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’;

  }

  第12题 请编写函数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’;

  }

  第13题 假定输入的字符串中只包含字母和*号。请编写函数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’;

  }

  }

  第14题 学生的记录由学号和成绩组成,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;

  }

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

  答案:

  void fun(char *str)

  {

  int i=0;

  char *p=str;

  while (*p)

  {

  if(*p!=‘’)

  {

  str[i]=*p;

  i++;

  }

  p++;

  }

  str[i]=‘\0’;

  }

  第16题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。

  答案:

  void fun(char *a)

  {

  int i=0,n=0;

  char *p;

  p=a;

  while (*p==‘*’)

  {

  n++;

  p++;

  }

  while (*p)

  {

  a[i]=*p;

  i++;

  p++;

  }

  while(n!=0)

  {

  a[i]=‘*’;

  i++;

  n--;

  }

  a[i]=‘\0’;

  }

  第17题 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。

  答案:

  void fun(STREC *p)

  {

  double av=0.0;

  int i:

  for(i=0;i

  av+=p->s[i];

  av/=N;

  p->ave=av;

  }

  第18题 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

  答案:

  int fun(char *ss, char c)

  {

  int n=0;

  while (*ss)

  {

  if(*ss==c)

  n++;

  ss++;

  }

  return n;

  }

  第19题 请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

  答案:

  void fun(int *w, int p, int n)

  {

  int b[N], i, j=0;

  for(i=0;i<=p;i++)

  {

  b[i]=w[i];

  j++;

  }

  for(i=0;i<=p;i++)

  {

  w[j]=b[i];

  j++;

  }

  }

  第20题 请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

  答案:

  void fun(char *w,int m)

  {

  char b[N];

  int I,j=0;

  for(i=0;i

  {

  b[j]=w[i];

  j++;

  }

  for (i=0;i

  w[i]=w[i+m];

  for(j=0;j

  {

  w[i]=b[j];

  i++;

  }

  w[i]=‘\0’;

  }

【计算机三级《数据库技术》专项练习题】相关文章:

2016计算机三级《数据库技术》专项训练10-01

计算机三级《数据库技术》专项试题及答案10-07

计算机三级数据库填空专项练习题08-07

计算机三级数据库技术填空专项练习07-21

计算机三级数据库技术单选专项测试09-05

计算机三级的《数据库技术》练习题及答案09-17

计算机三级《数据库技术》练习题及答案10-18

计算机三级数据库技术单选专项突破试题07-20

计算机三级数据库技术练习题及答案10-26