一般面试字符串的题目分四种:1, 基本运算(求长度,连接,比较)2. 格式转换(atoi, itoa) 3.字符串翻转 4. 模式匹配。
1. 基本运算
a.赋值操作
函数原型:int StrAssign(const char *s, char *t)
函数说明:将s的内容付给t
函数定义:
int StrAssign(const char *s, char *t){
<wbr><wbr>char *p = t;<br><wbr><wbr><wbr><wbr>while(*s !='\0'){<br><wbr><wbr><wbr><wbr>*p++ = *s++;<br><wbr><wbr>}<br><wbr><wbr>*p = '\0';</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return 0;<br> }</wbr></wbr>
b.连接操作
函数原型:int Concat(char *s, const char *t)
函数说明:将串t连接到串s的尾部,形成一个新串
函数定义:
int Concat(char *s, const char *t){
<wbr><wbr>//首先找到串s的尾部<br><wbr><wbr>char *p = s;</wbr></wbr></wbr></wbr>
<wbr><wbr>while(*p != '\0') p++;//循环结束以后的p就是s的尾部</wbr></wbr>
<wbr><wbr>while(*t !='\0')<wbr><wbr><wbr><wbr>*p++ = *t++;<wbr><wbr><br><wbr><wbr>*p='\0';//添加尾部字符</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return 0;<br> }</wbr></wbr>
c.求长度
函数原型:int StrLen(char *s)
函数说明:返回串s的长度
函数定义:
int StrLen(char *s){
<wbr><wbr>int len = 0;</wbr></wbr>
<wbr><wbr>while(*s != '\0'){<br><wbr><wbr><wbr><wbr>len ++;<br><wbr><wbr><wbr><wbr>s++;<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return len;<br> }</wbr></wbr>
d.字符串比较
函数原型:int StrCmp(const char *s, const char *t)
函数说明:比较两个串的大小,返回值为-1,0,1表示s<t, s=t,s>t。
函数定义:
int StrCmp(const char *s, const char *t){
<wbr><wbr>while((*s != '\0')&&(*t != '\0')){<br><wbr><wbr><wbr><wbr><wbr><wbr>if(*s++ - *t++ > 0) return 1;<br><wbr><wbr><wbr><wbr>else if( *s++ - *t++ <0) return -1;<br><wbr><wbr><wbr><wbr>else return 0;<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return 0;<br> }</wbr></wbr>
//不区分大小写的字符串比较函数
int stricmp(const char *s, const char *t){<wbr><wbr><br><wbr><wbr>while((*s != '\0')&&(*t != '\0')){<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>if(toupper(*s++) - toupper(*t++) > 0) return 1;<br><wbr><wbr><wbr><wbr>else if(toupper(*s++) - toupper(*t++) <0) return -1;<br><wbr><wbr><wbr><wbr>else return 0;<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return 0;<br> }</wbr></wbr>
2.<wbr><span style="font-family:verdana,sans-serif"><strong><span style="font-size:13px">整数与字符串之间的相互转换</span></strong></span></wbr>
<wbr></wbr>
<wbr></wbr>
a.将字符串转换成整数
<wbr></wbr>
<wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>例如有一字符串str[]=“1234”,最直观的转换方法就是依次将每一个字符转换成相应的数字,然后乘10累加,即((1*10+2)*10+3)*10+4。想要得到每一位相应的数字,只需用每个字符减去数字0的ASCII码,即2= str[1]-'0'。
<wbr><wbr><wbr><wbr><wbr>如果字符串首字符标示的是一个负数,即str[0]=='-'。那么此时应该设置一个符号判断标示位(用来判断以后得到的整数是否需要乘-1),并把要处理的字符数组下标设置为1。<br><wbr><wbr><wbr><wbr><wbr><span style="color:rgb(0,0,255)">int str_to_int(char str[])<br><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int i=0, isNeg=0,num=0;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if(str[0]=='-')<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{isNeg=1;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>i=1;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>while(str[i])<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{num=num*10+(str[i]-'0');<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>i++;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if(isNeg)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>num*=-1;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>return num;<br><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
b.将整数转换为字符串
<wbr><wbr><wbr><wbr><wbr>将整数转换为字符串相对要复杂些。通过取模,并结合商与余数的关系,可以有几种方法。例如,123除以100,商为1,余数为23,这样,首先可以把“1”保存到字符串里。然后23除以10,商为2,余数为3。这样就可以得到字符串“123”了。但是,怎样来确定整数的位数确实比较麻烦。有一种相对简单的方法。<br><wbr><wbr><wbr><wbr><wbr>首先将123除10取模,得到数字3,此时商为12。再将12除10取模,得到数字2,商为1。这样,我们可以得到字符串“321”,接着进行一次逆序即可得到想要的字符串。<br><wbr><wbr><wbr>同样,如果该整数小于0,我们需要人为地将其变成正数,再进行取模运算!!<br><wbr><wbr><wbr><span style="color:rgb(0,0,255)"><wbr><wbr><wbr>char int_to_str(int num,char str[])<br><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int i=0,j=0,isneg=0;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>char temp[10];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if(num<0)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>num*=-1;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>isNeg=1;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>do{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>temp[i]=(num)+'0';<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>num/=10;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>i++;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}while(num)<wbr><wbr><wbr>//使用do-while结构保证当num为0时也执行循环。<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if(isNeg)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>temp[i++]='-';<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>while(i>0)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>str[j++]=temp[--i];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>str[j]='\0';<wbr><wbr><wbr><wbr><wbr>//字符串结束符不能忘掉。<br><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
3、字符串翻转,这里有两种翻转,第一种是翻转整个字符串,第二种是翻转句子中的单词。
a. 翻转整个字符串
函数原型:void Reverse(char *s1)
函数说明:"abcd"=>"dcba"
函数定义:
void Reverse(char *s1){
<wbr><wbr>char *p = s1;<wbr><wbr><br><wbr><wbr>while(*p!='\0'){<br><wbr><wbr><wbr><wbr>p++;<br><wbr><wbr>}<br><wbr><wbr>char ch_t;<br><wbr><wbr>p--;<br><wbr><wbr>char *p1 = s1;<br><wbr><wbr>while(p1 < p){<br><wbr><wbr><wbr><wbr>ch_t = *p1;<br><wbr><wbr><wbr><wbr>*p1 = *p;<br><wbr><wbr><wbr><wbr>*p = ch_t;<wbr><wbr><br><wbr><wbr><wbr><wbr>p--;<br><wbr><wbr><wbr><wbr>p1++;<wbr><wbr><wbr><wbr><br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>return;<br> }</wbr></wbr>
b. 翻转句子中的单词
函数原型:void ReverseWord(char *s1)
函数说明:"today is sunday"=>"sunday is today"
函数定义:
void ReverseWord(char *c){
//先对整个句子进行翻转
<wbr><wbr>char *p = c;<br><wbr><wbr>char *p1;<br><wbr><wbr>int count = 0;<wbr><wbr><wbr><wbr><br> //在对句子的每个单词进行翻转<br><wbr><wbr>while(*p!='\0'){<br><wbr><wbr><wbr><wbr>p++;<br><wbr><wbr><wbr><wbr>count++;<br><wbr><wbr><wbr><wbr>if((*p == ' ')||(*p =='\0')){<br><wbr><wbr><wbr><wbr><wbr><wbr>//记录下这个位置<br><wbr><wbr><wbr><wbr><wbr><wbr>p1 = p - count;<br><wbr><wbr><wbr><wbr><wbr><wbr>if(*p == ' ') p++;<br><wbr><wbr><wbr><wbr><wbr><wbr>ReverseChar(p1, 0, count-1);<wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr>count = 0;<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr>}<br> Reverse(c);<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
在ReverseWord函数调用了ReverseChar函数对给出字符串的起始位置做翻转
void ReverseChar(char *ch,<wbr><wbr>int start, int end){<br><wbr><wbr>char *p1 = ch;<br><wbr><wbr>char *p = ch;<br><wbr><wbr>char ch_t;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>while(start < end){<br><wbr><wbr><wbr><wbr>ch_t = *(p1+start);<br><wbr><wbr><wbr><wbr>*(p1+start) = *(p + end);<br><wbr><wbr><wbr><wbr>*(p + end) = ch_t;<wbr><wbr><br><wbr><wbr><wbr><wbr>end --;<br><wbr><wbr><wbr><wbr>start++;<wbr><wbr><wbr><wbr><br><wbr><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
4、字符串的模式匹配
给一个串T,和子串P,返回是否子串p是否和串T中有子串匹配,如果有,返回位置;没有返回0。
假设P为给定的子串,T是待查找的字符串
T:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>t<sub>0</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>t<sub>1</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>t<sub>2</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>t<sub>3</sub><wbr><wbr><wbr>.... t<sub>m-1</sub>... t<sub>n-1</sub><br> P:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>p<sub>0</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>p<sub>1</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>p<sub>2</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>p<sub>3</sub>.....p<sub>m-1</sub><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
用P中的字符依次与T中的字符进行比较,遇到不相等的字符,则可将P右移一个字符,从新进行比较,直到某次匹配成功或者到达P的最右字符移出T为止。
如:若P="aaaba", T="aaabbaaaba",则匹配过程如下图
<wbr><wbr><wbr>T:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>b<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>b<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr>b<wbr><wbr><wbr>a<br><wbr><wbr><wbr>P:<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>b<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>a<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>