(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 程序运行结果