C语言编程:字符串排序与字符加密算法

需积分: 6 1 下载量 67 浏览量 更新于2024-07-30 收藏 538KB DOC 举报
"C语言编程习题,包括字符串排序和字符加密" 在C语言编程中,这两道题目分别涉及字符串的特殊排序算法和字符的加密处理,是提高编程技能和理解数据操作的好练习。 1题主要考察的是字符串的排序算法。题目要求设计一个名为`jsSort()`的函数,对字符串数组`xx`中的每个字符串进行特定的排序。排序规则是将每个字符串分为两部分,左边部分按字符的ASCII值升序排列,然后与右边部分交换。如果字符串长度为奇数,中间字符保持不变。提供的代码片段展示了如何实现这个功能。 首先,通过`strlen()`函数获取每个字符串的长度,然后使用两个嵌套的循环进行排序。外层循环遍历字符串数组`xx`的每一项,内层的第一个循环用于比较和交换字符串的左侧部分。第二个内层循环处理字符串长度为奇数的情况,将左侧排序后的部分与右侧未排序的部分交换。如果字符串长度为偶数,只需在中间位置交换两部分。这样就实现了题目所要求的特殊排序算法。 2题则涉及到字符的加密处理。题目要求编写一个`encryptChar()`函数,对从文件`ENG.IN`中读取的英文文章进行加密,加密方法是将每个字符的ASCII值乘以11,然后对256取模,得到的新ASCII值用于替换原字符。最后将加密后的字符串写入到`PS8.DAT`文件中。 在`encryptChar()`函数中,需要遍历字符串数组`xx`中的每一个字符,将其ASCII值进行加密计算,然后替换原来的字符。这个过程可以通过遍历字符串,对每个字符执行`p*11 % 256`运算来完成,其中`p`代表字符的ASCII值。加密后的字符应被存回原位置,以保持字符串的整体结构。 这两道题目都是对C语言基本操作的深入运用,包括文件读写、字符串处理、字符编码以及自定义排序和加密算法的设计。它们能够帮助学习者更好地理解和掌握C语言的核心概念,并锻炼实际编程解决问题的能力。