
字符串
tianmo2010
这个作者很懒,什么都没留下…
展开
-
递归法实现整型数到字符串的转换
用递归法实现整型数到字符串的转换,例如:输入1234,转换后得到“1234”,输入整数的范围不超过5位。 实现方法一:#include #define M 6void intToString(char *p,int origin){ stati原创 2011-10-05 17:06:11 · 1879 阅读 · 0 评论 -
常见字符串处理函数返回值的总结
1 int getchar(void);getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显原创 2011-09-27 10:12:09 · 2178 阅读 · 0 评论 -
对称子字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则我们接着转载 2011-08-19 17:07:24 · 1115 阅读 · 1 评论 -
找出两个或者多个字符串中最大的公共串,最大的整数,最长的整数
一 找出两个字符串中最大的公共字串#include "stdio.h" #include "malloc.h" #include "string.h" char *maxsubstr(char *str1, char *str2) { char *p1, *p2, *q1, *q2, *destp; char原创 2011-03-27 00:39:00 · 1228 阅读 · 0 评论 -
判断两个字符串是否为兄弟字符串
①所谓兄弟字符串,就是指两个字符串中相同的字符串出现的个数相同。通常我们要判断两个字符串是否为兄弟字符串。实现算法://judge two string is brother string or notbool IsBrotherString(const char *src,const char *dst){ if( strlen(src) != strlen(dst) )原创 2011-10-24 22:01:34 · 1586 阅读 · 0 评论 -
字符串数字从小到大输出
华为面试时,面试官出的一道题,将一个随机的整数转换成一个按各位上数值大小排序的整数,例如整数2541转换成1245,随机整数521368转换成123568,用C语言编程来实现,要求不能使用一步到位的库函数.#include void func(char *str){ if(NULL == str) return ; unsigned int s[10] = {0}; cons原创 2012-08-17 22:30:35 · 1916 阅读 · 0 评论 -
翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于原创 2011-09-16 18:39:53 · 1373 阅读 · 0 评论 -
最长公共子串,出去重复子串
1.给定字符串A和B,输出A和B中的最大公共子串. 比如A = "aocdfe", B = "pmcdfa" 则输出"cdf"2.实现一个程序,从键盘输入两个字符串,连接两个字符串,并去掉其重复子串,输入的字符串中只能是字符和空格,字符串以空格进行分割. 例:输入两个字符串如下: "what is your name" "my name is bourne"原创 2011-08-14 20:01:43 · 1417 阅读 · 0 评论 -
在一个字符串中找到第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路时间复原创 2011-03-21 22:58:00 · 3167 阅读 · 1 评论 -
C语言中strcpy,strcmp,strlen,strcat函数原型 .
C语言中strcpy,strcmp,strlen,strcat函数原型今天去文思创新面试,考官问了我一个简单的实现,即:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:(下面的程序经本人通过)1、Strcat函数原型如下:char *strcat(char转载 2011-09-20 18:52:19 · 2131 阅读 · 0 评论 -
淘宝,微软,IBM等公司笔试,面试题目
①淘宝笔试题目 题目大意如下:请使用C语言完成strnicmp的编码实现,要求不能调用任何其他函数。strcicmp完成两个ascii字符串的比较,忽略大小写(两个英文字母比时,认为大小写无差别),最多比较n个字符(当两个字符串长度超过n时,就认为它们的长度都等于n),返回0表示第一个字符串大于第二个字符串,返回等于0表示两个字符串相等。函数声明如下:int strnicmp(char原创 2011-10-09 13:46:10 · 4412 阅读 · 0 评论 -
定位单词在字符串数组中的位置
一个简单的例子:#include "stdio.h"#include "string.h"int lookup_keyword(char const* desired_word, char *keyword_table[],int const size ) { char **p_kw; /* **原创 2011-08-14 18:49:40 · 2395 阅读 · 0 评论 -
字符串最大问题
1 求两个字符串的最大公共字串#include "stdio.h" #include "malloc.h" #include "string.h" char *maxsubstr(char *str1, char *str2) {原创 2011-09-25 09:10:08 · 866 阅读 · 0 评论 -
字符,数组,指针的准确操作
试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );}试题2:void test2(){原创 2011-10-02 14:37:00 · 898 阅读 · 0 评论 -
上海华为的一道关于指针方面的编程题
如下:int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至 数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范原创 2011-09-27 19:33:25 · 1682 阅读 · 0 评论 -
删除字符串中字符个数最少的字符--华为长沙站
/****** 题目:删除一个字符串中出现次数最少的字符,函数原型为:**** char * delChar(char *s,int iLen) ** ** 其中 s为输入字符串,iLen为输入字符串长度。**原创 2011-10-05 00:38:11 · 3755 阅读 · 1 评论 -
字符串的倒序输出
字符串的倒序输出,常常有两中方法:一. 常规方法:#include #include void StringReverse(char *str){ if(NULL == str) { return ; } char *pBegin = str; char *pEnd = str + strlen(str) - 1; while(pBegin < pEnd)原创 2012-02-29 20:47:12 · 4268 阅读 · 1 评论 -
把字符串中*全部移到字符串的头部---要求时间复杂度和空间复杂度
#include //把字符串中*全部移到字符串的头部void moveCharToHead(char *str){ if(str == NULL) return ; char *pString = str; char *tmp = NULL; while(*pString != '\0') { if(*pString == '*') { tmp = pStrin原创 2011-10-08 12:03:25 · 1324 阅读 · 0 评论 -
字符串按固定格式的处理
表示时间的十四位的字符串例如“20110902112234”,然后我需要从这个字符串中解析整型的出年月日时分秒信息,前四位是年,后面都是每两位表示一项。直接用字符串转整型,但是这个数太大了。还是先把字符串截了再转整型?#include "stdio.h"void main() { char YYYYMMDDhhmmss[]="20110902112234"; in原创 2011-09-02 11:59:28 · 1350 阅读 · 0 评论 -
从字符串中分离找出每个单词,并且寻找某个特定的单词
在现实情况中,我们往往要从一个长字符串后中(字符中用空格隔开),找出其中的每个单词。然后在作一系列的处理,比如找出某个单词等。一)从字符串中找出每个单词#include #include inline char *DeleteSpace(char *pString) { while(' ' == *pString) pString ++;原创 2011-11-29 20:39:10 · 5571 阅读 · 1 评论 -
在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能很好的反映我们的编程基本功。要编程完成这道题要求的功能可能并不难。毕竟,这道题的基本思路就是转载 2011-08-23 18:52:26 · 1621 阅读 · 0 评论