(3)实验实例

更新于 2026年10月10日 版权声明
(3)实验实例

1)从键盘任意输入一个字符串s1(100 个字符以内),再输入另一个字符串s2(10 个字符以内),编程统计字符串s2 在字符串s1 中出现的次数。

【程序分析】

①输入:定义两个字符数组s1 和s2,并完成字符串的输入,在输入时特别要注意区别gets输入和scanf 输入的不同点。

②处理:从第一个字符开始,对字符串s1 进行遍历,如果字符串s1 中的当前字符等于字符串s2 中的第一个字符,则两个字符串继续比较下一个字符串,直到字符串s2 比较完一次(以\0 为结束符),出现次数的变量加1,字符串s1 继续下移,而字符串s2 重回第一个字符,重新再比较;如果不相同,则字符串s1 继续下移,而字符串s2 重回第一个字符,重新再比较。

③输出:统计次数count。

【参考程序】

图示

图示

【运行结果】如图8-1所示。

图示(https://www.daowen.com)

图8-1 程序运行结果

2)输入一行字符,统计其中的单词个数,单词间空格分开。

【程序分析】

根据题目要求,可以用一个字符数组来存储输入的这行字符。要统计其中单词数,就是判断该字符数组中的各个字符,如果出现非空格字符,且其前一个字符为空格,则新单词开始,计数num 加1。

但这在第一个单词出现时有点特殊,因为第一个单词前面可能没有空格,因此在程序里我们可以人为加上一个标志word,并初始化为0。该标志指示前一个字符是否是空格,如果该标志值为0 则表示前一个字符为空格。

【参考程序】

图示

【运行结果】如图8-2所示。

图示

图8-2 程序运行结果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)