大部分公司的筆試題都會涉及到寫乙個字串的操作函式,並且不呼叫庫函式。
雖然這些函式經常都會用到,但是在筆試現場還真不一定能做對,要保證寫出來還要寫對還是需要看平時的積累的,畢竟筆試的時候沒有機器給你除錯,就只有看個人對**的理解了,所以,多練習是沒錯的,畢竟機會難得。
1.strcpy() 字串拷貝函式
//將src裡面的字串拷貝到dest
char
*mystrcpy
(char
*dest,
const
char
*src)
char
*ret = dest;
while((
*dest++
=*src++)!=
'\0');
return ret;
}
注意:返回乙個char*指標是為了實現鏈式表示式,如 :
int len =
strlrn
(mystrcpy
(dest,
"hello world"))
;
2.strcmp()字串比較函式
strcmp(s1,s2):
1、兩個字串從左到右按照 acsii 碼值大小比較,直到出現不同的字元或者遇到』\0』為止;2、若出現不相同的字元,則以第一對不相同的字元的比較結果為準;
3、字串1等於字串2,函式值為0,字串1大於字串2,函式值為正整數,字串1小於字串2,函式值為負整數;
int
mystrcmp
(const
char
*str1,
const
char
*str2)
if(ret>0)
return1;
if(ret<0)
return-1
;return ret;
}
3.strcat()字串連線函式
strcat(str1,str2) 將字串str2拼接在str1後面;
char
*mystrcat
(char
*dest,
const
char
*src)
while
((dest[i++
]= src[j++])
!='\0');
return dest;
}
4.將字串轉化整型數atoi()
int
strtonum
(char
*str)if(
*str ==
'-'||
*str ==
'+')
while
(*str !=
'\0')}
return flag*ret;
}
5.整型數轉化為字串
注意,如果是負數,不能取餘,要變成正數之後用;
char
*numtostr
(int nums,
char
* str)
if(nums <0)
str[0]
='-'
; str[i]
='\0'
;//字串結束標誌
}else
str[i]
='\0'
;//字串結束標誌
}//str[i] = '\0';//字串結束標誌
return str;
}
6.strstr()判斷乙個字串裡面是否包含另乙個字串
bool my_strstr
(const
char
*s1,
const
char
*s2)
return false;
}
7.刪除指定字串的字元;
8.刪除乙個字串包含的字串
9.乙個字串**現的字元最多的次數;
10.判斷字串中有多少個單詞;
11.將字串中的單詞倒序(只改變單詞順序,不改變字母);
12.將字串倒過來排列;
字串筆試題
1 輸入乙個整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 思路 依次掃瞄字串,每掃到乙個字元,把之前的得到的數字乘以10再加上當前字元表示的數字。注意 還可能包括 或 表示整數的正負。需要特殊處理 考慮非法輸入 1 判斷指標是否為空 2 輸入的字串可能不是數字的字元,...
c語言string h中常用的字串操作函式
根據指定字元切分字串char strtok char str1,char str2 char input 26 i,am,a,boy char p p strtok input,while p 字串反轉char strrev char str char forward string printf b...
有關字串的筆試題
小總結 1.轉換字串格式為原來字串裡的字元 該字元連續出現的個數 1233422222轉換為1121324125 思路 兩個vector來存放,乙個存放字元,乙個存放次數 void printchte string str mytime.push back time mychar.push back...