十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
目錄
1.插入字符
2.合并字符串(字符串復(fù)習(xí)鏈接)
3.找到字符串的位置
插入核心為從后往前便歷數(shù)組,不斷將數(shù)組元素后挪位置,找到位置后,插入,返回首地址即可.代碼如下
#include
#include #include char *insert(char *string, char c) { int i; int len = strlen(string); for(i=len;*(string+i-1)>c;i--){ //循環(huán)終止時(shí)i值為空出位置 *(string+i) = *(string+i-1); //不斷后挪位置 } *(string+i) = c; return string; } int main() { char s[60]; int i; char c; scanf("%s %c",s,&c); char *p = insert(s,c); printf("%s",p); }
2,合并字符串?
復(fù)習(xí)下幾個(gè)常用的字符串函數(shù)?
1.字符串比較strcmp(srt1,str2)
2.字符串連接
3.字符串
鏈接如下
http://t.csdn.cn/wtMaT
下圖為題解,其實(shí)沒(méi)必要加數(shù)組s,只是寫(xiě)選擇排序時(shí)加了s,就不習(xí)慣換成str1了.
#include#includeint main()
{
void str_bin(char *str1, char *str2);
char s[200], t[200];
int k;
gets(s);
gets(t);
str_bin(s, t);
puts(s);
return 0;
}
void str_bin(char *str1, char *str2)
{
strcat(str1,str2); //將字符串1,2連接;
char s[400] ;
strcpy(s,str1); //復(fù)制給s
int i,t,j,k,len = strlen(s);
char temp;
for(i=0;i
3.字符串查找是否在尾部
這題為返回值類型函數(shù),核心思想就是依次向后比較,當(dāng)然也可將字符串顛倒后從前比較,文中圖一為逆序比較,算出str1,str2,i循環(huán)--,len2較小可直接用Len2--實(shí)現(xiàn)短數(shù)組的便利如下
#include#includeint main()
{
int strend(char *s, char *t);
char s[1000], t[1000];
int k;
gets(s);
gets(t);
k=strend(s, t);
if(k==1)
printf("Yes");
else
printf("No");
return 0;
}
int strend(char *s, char *t)
{
int len1 = strlen(t);
int len2 = strlen (s);
int i,j,k;
for(i=len1-1;i>=0;i--){
if(*(t+i)!=*(s+len2-1)){
return 0;
}
len2--;
}
return 1;
}
字符串倒置方法
char *daozhi(char *str) //返回值為char類型的地址
{
int len = strlen(str); //求出長(zhǎng)度,str相當(dāng)于一數(shù)組s[];
int i;char temp; //temp 為中間變量用于首尾交換
for(i=0;i
//正序比較所用的代碼
int strend(char *s, char *t)
{
int len1 = strlen(t);
int len2 = strlen (s);
int i,j,k;
daozhi(s);daozhi(t);
printf("%s %s",s,t);
for(i=0;i
4.輸出字符串2在字符串1中出現(xiàn)的最后一次的地址
這題我的想法是將字符串倒置之后進(jìn)行查找.提高效率,但所求位置變成len1-i-len2(可以讓i=0,最后一個(gè)驗(yàn)證正確性,然后判斷是否為字符串子串可用字符串比較函數(shù)的進(jìn)階版進(jìn)行比較,當(dāng)然這題也可以用字符串查找函數(shù)進(jìn)行解題.
題解1:
#include#includeint main()
{
int strrindex(char *s, char *t);
char s[1000], t[1000];
int k;
gets(s);
gets(t);
k=strrindex(s, t);
printf("%d",k);
return 0;
}
int strrindex(char *s, char *t)
{
int i,j,k; char c;
int len1 = strlen(s);int len2 = strlen(t);
for(i=0;i
第一次發(fā)博客,2022年冬至晚上22.48--
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧