全国计算机三级数据库技术上机试题100道(15)

时间:2025-04-07

13. 【考点分析】 本题考查对字符串的查找和统计。考查的知识点包括:指针对字符串的访问方法,C语言循环嵌套结构。

【解题思路】 首先通读题目,得知此题属于字符串处理问题;其次分析题干要求,本题要求实现findStr(char *str, char *sunstr)函数,该函数需要实现在一个字符串中查找另一个字符串,并统计出现次数的功能,分析后可以归纳出实现功能的3个关键点;关键点1如何实现对字符串中字符的遍历;关键点2如何实现对子字符串的查找功能;关键点3如何统计子串其出现的次数。

接着分析每一步的解决方法。对于关键点1使用循环和指针的方式可以实现对字符串的访问;关键点2通过嵌套的循环可以实现查找功能,具体方法是,外层循环控制对主串的遍历,内层是对子串的遍历,当主串中当前字符和子串第1个字符相同时,继续判断其后的字符是否和子串的下一个字符相同,依次类推,则每次内层循环遍历过子串就表示找到一次;关键点3每找到一次子串的同时,累加一个记数器,作为出现次数的统计结果。

【参考答案】

int findStr(char *str,char *substr)

{

int n=0; /*定义计数器变量,统计出现次数*/

char *p,*r; /*定义指针变量来分别指向两个字符串*/

while(*str) /*如果字符串没有结束,则一直循环下去*/

{

p=str; /*指针p指向字符串首地址*/

r=substr; /*指针r指向子字符串首地址*/

while(*r) /*若子字符串没有结束,则循环继续*/

if(*r==*p) /*如果子字符串的第一个字符等于字符串中的该字符,则继续比较下一个字符*/

{

r++;

p++;

}

else

break; /*否则退出循环*/

if(*r=='\0') /*如果子字符串在字符串中出现了一次*/

n++; /*则n加1,进行统计*/

str++; /*指向字符串中的下一个字符*/

}

return n; /*返回统计结果n*/

}

【易错提示】 遍历字符串时指针的使用;查找子串的算法使用。

14. 【考点分析】 本题考查对字符数组中字符排序。考查的知识点包括:字符串数组的访问,数组排序算法。

全国计算机三级数据库技术上机试题100道(15).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219