当前位置:首页 > 江苏科技大学C++试验设计报告
第八题:有两个字符串,将主字符串中的所有子字符串删去
并输出,例如,主字符串为“This is a very good book”,子字符串为“book”,结果为“This is a very good”。
源程序清单:
#include
int withstr(char *s1,char *subs) { }
char *delsub(char *s1,char *subs) {
char *p1,*p2; int len=strlen(subs); p2=p1=s1; while(*p1) {
if(withstr(p1,subs))p1+=len; else *p2++=*p1++; while(*subs&&*s1==*subs) {s1++;subs++;} return !(*subs);
}
} *p2='\\0'; return s1;
void main() { }
char str1[80]=\char str2[40]=\
cout< 运行结果: 第九题:设计一个通用函数查询一个带通配符“?”的字符串在另一个字符串中出现的次数,在主程序中进行测试。 源程序清单: #include int fun(char*str,char*sear,int &n){ n=0; char *s,*f; for(;*str;str++){ if(*str==*sear||*sear==‘?’){ s=str; f=sear; s++; f++; if(*f==‘?’){ if(*(f+1)==‘\\0’&&*s!=‘\\0’)n++; else {s++;f++;} while(*s++==*f++) if(*f==‘\\0’){ n++;break; } } } return n; } } void main(){ int n; char str[81],s0[10]; cout<<“请输入被查询的字符:\\n”; cin.getline(str,80); cout<<“请输入要查询的字符:\\n”; cin.getline(s0,9); if(fun(str,s0,n))cout< 运行结果为: 第十题:定义一个函数,删除一个字符串中所有非数字字符并将剩下的数字字符转化为一个整数。 源程序清单: #include for(char *p1=str;*p1;p1++) if(*p1<'0'||*p1>'9'){ for(char *p2=p1;*p2;p2++) *p2=*(p2+1); if(*p1<'0'||*p1>'9')p1--; } return str; } int vale(char *str){ int s=0; char *p=str+strlen(str)-1; for(;p>=str;p--) s=s*10+*p-'0'; return s; } void main(){ char s[]=\ cout< cout< 运行结果为: 第十一题:已知函数void stat(char*[3],int &,int*,int*),分别统计3个字符串中所有的数字字符,英文字母及其他字符的数量,编写程序测试该函数。 源程序清单: #include void stat(char*s[3],int&num,int*aphlet,int*other){ int i; char*p; num=*aphlet=*other=0; for(i=0;i<3;i++){ p=s[i];
共分享92篇相关文档