欢迎来到天天文库
浏览记录
ID:6599076
大小:32.00 KB
页数:3页
时间:2018-01-19
《2004年秋上机试卷05》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2004年秋上机试卷05一、改错题:下列程序的功能是:判断一个字符串是否匹配另一个含“通配符”的字符串。通配符“*”表示该位置上可以出现任意多个字符(包括0个字符)。例如,一个具有通配符的字符串是“ab*t”,则字符串“about”、“abort”和“abt”与之匹配,而字符串“abuse”和“aboutan”与之不匹配。规定具有通配符的字符串中必须有而且只能有一个*。请改正程序中的错误,可用上述给出的示例字符串进行测试。提示:匹配时从字符串的两头向中间试探。含有错误的源程序如下:#include#include
2、intlike(char*s1,char*s2)//s1带有通配符;如果匹配,返回1,否则返回0{char*p1=s1,*p2=s1+strlen(s1)-1;inti=0,j=strlen(s2);while(*p1!='*'&&p1==s2[i])i++,p1++;while(*p2!='*'&&*p2==s2[j])j--,p2--;if(i-13、s1<>s2;if(like(*s1,*s2))cout<<"OK!"<4、:存入二维数组的值,M、N为预定义的符号常量。(2)公有成员函数。lTDarray(intx[M][N]):构造函数,用x数组初始化数组a。lvoidmove():将数组a的每个元素向右移动一列。lvoidprint():按矩阵方式输出数组a。(3)在主函数中完成对该类的测试。在程序的开头定义符号常数M和N的值分别为3和4。在主函数中定义二维数组intx[M][N],用以上数据赋初值。定义一个TDarray类的对象arr,用数组x初始化该对象,通过arr调用成员函数,首先输出数组的原始值,然后移动并输出移动后的数组值。答案:一、#inc5、lude#includeintlike(char*s1,char*s2){char*p1=s1,*p2=s1+strlen(s1)-1;inti=0,j=strlen(s2);//j=strlen(s2)-1;while(*p1!='*'&&*p1==s2[i])i++,p1++;while(*p2!='*'&&*p2==s2[j])j--,p2--;if(i-16、voidmain(){chars1[]="ab*t",s2[];//s2[20]cout<>s2;if(like(*s1,*s2))//like(s1,s2)cout<<"OK!"<#include#defineM3#defineN4classTDarray{inta[M][N];public:TDarray(intx[][7、N]);voidmove();voidprint();};TDarray::TDarray(intx[][N]){for(inti=0;i=1;j--)a[i][j]=a[i][j-1];for(i=0;i8、::print(){for(inti=0;i
3、s1<>s2;if(like(*s1,*s2))cout<<"OK!"<4、:存入二维数组的值,M、N为预定义的符号常量。(2)公有成员函数。lTDarray(intx[M][N]):构造函数,用x数组初始化数组a。lvoidmove():将数组a的每个元素向右移动一列。lvoidprint():按矩阵方式输出数组a。(3)在主函数中完成对该类的测试。在程序的开头定义符号常数M和N的值分别为3和4。在主函数中定义二维数组intx[M][N],用以上数据赋初值。定义一个TDarray类的对象arr,用数组x初始化该对象,通过arr调用成员函数,首先输出数组的原始值,然后移动并输出移动后的数组值。答案:一、#inc5、lude#includeintlike(char*s1,char*s2){char*p1=s1,*p2=s1+strlen(s1)-1;inti=0,j=strlen(s2);//j=strlen(s2)-1;while(*p1!='*'&&*p1==s2[i])i++,p1++;while(*p2!='*'&&*p2==s2[j])j--,p2--;if(i-16、voidmain(){chars1[]="ab*t",s2[];//s2[20]cout<>s2;if(like(*s1,*s2))//like(s1,s2)cout<<"OK!"<#include#defineM3#defineN4classTDarray{inta[M][N];public:TDarray(intx[][7、N]);voidmove();voidprint();};TDarray::TDarray(intx[][N]){for(inti=0;i=1;j--)a[i][j]=a[i][j-1];for(i=0;i8、::print(){for(inti=0;i
4、:存入二维数组的值,M、N为预定义的符号常量。(2)公有成员函数。lTDarray(intx[M][N]):构造函数,用x数组初始化数组a。lvoidmove():将数组a的每个元素向右移动一列。lvoidprint():按矩阵方式输出数组a。(3)在主函数中完成对该类的测试。在程序的开头定义符号常数M和N的值分别为3和4。在主函数中定义二维数组intx[M][N],用以上数据赋初值。定义一个TDarray类的对象arr,用数组x初始化该对象,通过arr调用成员函数,首先输出数组的原始值,然后移动并输出移动后的数组值。答案:一、#inc
5、lude#includeintlike(char*s1,char*s2){char*p1=s1,*p2=s1+strlen(s1)-1;inti=0,j=strlen(s2);//j=strlen(s2)-1;while(*p1!='*'&&*p1==s2[i])i++,p1++;while(*p2!='*'&&*p2==s2[j])j--,p2--;if(i-16、voidmain(){chars1[]="ab*t",s2[];//s2[20]cout<>s2;if(like(*s1,*s2))//like(s1,s2)cout<<"OK!"<#include#defineM3#defineN4classTDarray{inta[M][N];public:TDarray(intx[][7、N]);voidmove();voidprint();};TDarray::TDarray(intx[][N]){for(inti=0;i=1;j--)a[i][j]=a[i][j-1];for(i=0;i8、::print(){for(inti=0;i
6、voidmain(){chars1[]="ab*t",s2[];//s2[20]cout<>s2;if(like(*s1,*s2))//like(s1,s2)cout<<"OK!"<#include#defineM3#defineN4classTDarray{inta[M][N];public:TDarray(intx[][
7、N]);voidmove();voidprint();};TDarray::TDarray(intx[][N]){for(inti=0;i=1;j--)a[i][j]=a[i][j-1];for(i=0;i8、::print(){for(inti=0;i
8、::print(){for(inti=0;i
此文档下载收益归作者所有