1、计算机三级数据库技术(上机操作)机试模拟试卷 64及答案与解析 一、程序设计题 1 编写函数 findStr(char*str, char*substr),该函数统计一个长度为 2的子字符串substr在另一个字符串 str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为 ”asd asasdfg asdas zx67 asd mklo”。子字符串为 ”as”,函数返回值是6。函数 ReadWrite()实现从数据文件 in dat中读取两个字符串,并调用函数findStr(),最后把结果输出到文件 out dat中。 【试题程序】 #include #include void R
2、eadWrite(); int findStr(char*str char*substr) main() char str81, substr3; int n; printf(“输入原字符串: ”); gets(str); printf(“输入子字符串: ”); gets(substr); puts(str); puts(substr); n=findStr(str, substr); printf(“n= d n”, n); ReadWrite(); void ReadWrite() char str81, substr3, oh! int n, len, i=0; FILE*rf,*wf!
3、 rf=fopen(“in dat”。 “r”); wf=fopen(“out dat”, “W”); while(i5) fgets(str, 80, rf); fgets(substr, 10, rf); len=strlen(substr)一 1; ch=substr1en, if(oh= n ch=0xla) substr1en=0; n=findStr(str, substr); fprintf(wf。 “ d n”n); i+; fclose(rf); felose(wf); 计算机三级数据库技术(上机操作)机试模拟试卷 64答案与解析 一、程序设计题 1 【正确答案】 int findStr(char*str char*substr) int i, cnt=0; *定义变量 * for(i=0; i80;i+) *统计次数 * if(*(str+i)=*substr return cnt;