江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
上机练习1

上机模拟试卷(1)

(1)    改错题:

函数fun的功能是:求出s所指字符串中最后一次出现t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始字符串,若未找到,则函数值为NULL.

例如:当字符串中的内容为 abcdabfabcdx,t中的内容为ab,输出结果为abcdx.

含有错误的源程序如下:

# include <iostream.h>

#include <string.h>

 

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

{

   char *p,*r,*a;

   a=Null;

   while(*s)

{

p=s;r=t;

while(*r)

   if(r==p) {r++;p++}

   else break;

   if(*r==’\0’) a=p;

   p++;

}

return a;

}

 

main()

{

  char s[100], t[100], *p;

  cout<<”Please enter string S:”;

  cin>>s;

  cout<<”Please enter substring t:”;

  cin>>t;

  p=fun(s,t);

  if(p) cout<<”The result is:”<<p;

  else  cout<<”Not found!”;

}

 

:编程题:

建立一个类Array,动态生成数组,按数组元素后两位上值大大小进行降序排序,数组中的每个数均是四位数,具体如下:

1.       私有数据成员.

int *a:指向根据len动态申请的数组空间

int len:有效数组元素的个数

2.       公有成员函数:

Array(int b[],int length):构造函数,使用数组b初始化a所指的动态数组,length初始化len

void sort():按题意对动态数组中的元素进行排序

void print():输出a所指向的数组

~Array():析构函数, 释放动态数组空间

3.在主函数中定义一个Array类的对象test,调用成员函数完成排序和输出