《2022年字符串试题参照 .pdf》由会员分享,可在线阅读,更多相关《2022年字符串试题参照 .pdf(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1.输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a,b,c 所能排列出来的所有字符串abc,acb,bac,bca,cab 和 cba。2.有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法。C 语言函数原型 void proc(char*str)。3.编写反转字符串的程序,要求优化速度、优化空间。4.用 C 语言实现函数void*memmove(void*dest,const void*src,size_t n)。memmove 函数的功
2、能是拷贝src 所指的内存内容前n 个字节到 dest 所指的地址上。5.编程找出两个字符串中最大公共子字符串,如abccade,dgcadde的最大子串为 cad。6.输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串 google,由于该字符串里最长的对称子字符串是goog,因此输出4。7.字符串原地压缩。题目描述:“eeeeeaaaff 压缩为 e5a3f2,请编程实现。8.请以回溯与不回溯算法实现字符串匹配。9.输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,输入 I am a s
3、tudent.,则输出 student.a am I。10.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出 b。11.写一个函数,它的原形是int continumax(char*outputstr,char*intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数 outputstr所指内存。例如:abcd12345ed125ss123456789 的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共
4、 3 页 -12.定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如:把字符串abcdef 左旋转 2 位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n 的字符串操作的复杂度为O(n),辅助内存为O(1)。13.有 n 个长为 m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接。问这 n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。14.如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符
5、串二中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长公共子串。例如,输入两个字符串BDCABA 和 ABCBDAB,字符串 BCBA和 BDAB 都是是它们的最长公共子串,则输出它们的长度 4,并打印任意一个子串。15.输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入 They are students.和aeiou,则删除之后的第一个字符串变成Thy r stdnts.。16.一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc 和 cba。17.给出一个函数来复制两个字符串A和 B。字符串 A的后几个字节和字符串B
6、 的前几个字节重叠。18.已知一个字符串,比如 asderwsde,寻找其中的一个子字符串比如sde 的个数,如果没有返回0,有的话返回子字符串的个数。19.求最大连续递增数字串(如ads3sl456789DF3456ld345AA中的 456789)。20.实现 strstr功能,即在父串中寻找子串首次出现的位置。21.编码完成下面的处理函数。函数将字符串中的字符*移到串的前部分,前面的非*字符后移,但不能改变非*字符的先后顺序,函数返回串中字符*的数量。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 3 页 -如原始串为:ab*cd*e*12,处理后为*abcde12,函数并
7、返回值为5。(要求使用尽量少的时间和辅助空间)22.删除字符串中的数字并压缩字符串。如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。23.求两个串中的第一个最长子串。如abractyeyt,dgdsaeactyey的最大子串为 actyet。24.在一个字符串查找一个最长子串,要求这个子串的每个字符相同。25.编码实现字符串转整型的函数(实现函数atoi的功能)。26.实现 strstr功能,即在父串中寻找子串首次出现的位置。27.不开辟用于交换数据的临时空间,如何完成字符串的逆序。28.删除串中指定的字符。29.判断一字符串是不是对称的。30.输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a,b,c,ab,ac,bc,abc。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 3 页 -