【知识点详解】
1. 字符串处理:在第一道题目中,主要涉及的是字符串的分割。C语言中没有内置的字符串处理函数来直接实现这个功能,所以需要自定义函数`DivideString`来完成。该函数接收一个输入字符串指针`pInputStr`,其长度`lInputLen`,以及一个输出字符串指针`pOutputStr`。通过遍历输入字符串,遇到空格则跳过,非空格字符加入到输出字符串中,并在每个子串之间插入逗号。注意,最后还需要在输出字符串末尾添加一个逗号。
2. 字符循环转换:第二题考察的是字符的循环转换,涉及到字符的ASCII码计算。`convert`函数接收输入字符串`input`和输出字符串`output`,根据题目规则,对每个字符进行加1操作,并处理边界情况,即当字符达到'z'时,需要重新从'a'开始计数。对于连续相同的字符,需要考虑增加两次的情况。
3. 字符去重:第三题的`stringFilter`函数用于过滤掉字符串中非首次出现的字符。通过两层循环,外层循环遍历输入字符串,内层循环检查当前字符是否已存在于输出字符串中。如果不存在,则将字符添加到输出字符串。
4. 字符串压缩:第四题的`stringZip`函数用于对连续重复的字符进行压缩。这个函数需要记录当前字符及其连续出现的次数,当遇到不同的字符时,将上一个字符的数量和字符本身写入输出字符串。
这些题目都基于C语言的基础,涵盖了字符串处理、字符操作、循环控制、条件判断等基础知识。在实际编程中,这些技能是处理文本数据和进行数据处理的基础。通过这些练习,可以提升对C语言的理解和应用能力,同时也锻炼了逻辑思维和问题解决能力。在面试或者实际工作中,类似的问题可能会出现在文本解析、数据预处理、编码解码等场景。