C语言指针练习:字符串子串查找、加密算法与字符替换

需积分: 12 0 下载量 68 浏览量 更新于2024-08-04 收藏 33KB DOC 举报
"该文档包含了多个C语言编程题目,主要涉及指针的使用,包括字符串操作、字符加密、字符替换、数组操作以及模拟彩票程序设计等。这些练习题旨在提高编程者对指针的理解和应用能力。" 这些题目都是关于C语言指针的经典练习,下面逐一解析: 1. 计算字符串中子串出现的次数:这个题目要求编写一个名为`subString`的函数,接收两个指针,分别指向主字符串和子字符串,返回子字符串在主字符串中出现的次数。代码中通过双层循环实现,外层循环遍历主字符串,内层循环寻找子字符串,一旦找到,更新计数器并重新开始内层循环。 2. 加密程序:程序要求将输入的明文通过特定规则加密,即字母向后移动4位,非字母字符保持不变,并在每个字符间插入空格。这需要两个函数,`change`负责加密,`insert`负责插入空格,都是通过指针传递字符串。 3. 字符替换:函数`replace`接收一个字符串指针,将所有't'(T)替换为'e'(E),并返回替换的次数。这个题目可以使用指针遍历字符串,找到目标字符并替换,同时累加计数。 4. 输出英文星期名:使用指针数组存储星期的英文名称,根据用户输入的数字输出对应的星期。 5. 字符串排序与合并:题目要求先根据字符串长度对5个字符串排序,然后取出每个字符串的第三个字符(不足3个字符的输出空格),并合并成新的字符串。这里需要用到字符串指针数组和比较函数。 6. 动态数组排序:动态分配长度为n的数组,使用随机数填充,然后进行排序。排序过程中会用到指针传递元素,以及自定义的交换函数`swap`。 7. 模拟彩票程序:生成6个随机数作为彩票号码,与用户输入的号码比较,计算相同数字的数量。这个题目涉及到动态内存分配和指针的使用,用于存储和比较两个数字序列。 这些题目涵盖了C语言中指针的基础应用,如指针遍历字符串、指针数组、动态内存分配、指针作为函数参数传递等知识点,是提高C语言编程技能的好材料。通过解答这些题目,可以深入理解指针在实际编程中的重要作用和使用技巧。