日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换

發布時間:2024/4/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【問題描述】

編寫程序將一行英文中指定的字符串替換為另一字符串后輸出。注意:查找指定字符串時,大小寫無關,而且有可能多次出現。

【輸入形式】

先從標準輸入中分行輸入兩個英文字符串(每個字符串不為空,長度不超過20,且字符串中不會出現空格),分別表示被替換的字符串和替換成的字符串,然后在下一行輸入一行英文(長度不超過200),行末有回車換行。

【輸出形式】

將輸入的英文按指定字符串替換后輸出到標準輸出上,末尾應有一個回車換行。

【樣例輸入】

th

Hello

This second edition of “The C Programming Language” describes C as defined by the ANSI standard. Modern compilers already support most features of the standard.

【樣例輸出】

Hellois second edition of “Helloe C Programming Language” describes C as defined by Helloe ANSI standard. Modern compilers already support most features of Helloe standard.

【樣例說明】

樣例中輸入的被替換的字符串為th,由于是大小寫無關查找替換,所以下一行英文信息中有四個子串要替換:Th、Th、th和th,分別替換為Hello,其它信息原樣輸出。

解體思路:將一行英文依次輸出,如果不符合替換條件原樣輸出,如果符合替換條件則輸出替換后的。省去了每一處替換時要考慮總字符串長增加還是減小,再進行后面字符整體移動的復雜步驟。

#include

#include

int main()

{

char a[20], b[20], str[200];//a為要查找的字符,b為替換后的

gets(a),gets(b),gets(str);

int num1 = strlen(a);//統計字符串的長度

int num3 = strlen(str);

int i, j, flag=1;

for (i = 0; i < num3; i++)

{

if ((str[i] != a[0])&&(str[i] != a[0]-32)&&(str[i] !=a[0]-32))//字符串的大小寫無關查找

printf("%c", str[i]);//若不是,按照原來的輸出

else{

flag=1;

for (j = 0; j < num1; j++)//對比a與str中的一段是否完全相同

{

if ((str[i+j] != a[j])&&(str[i+j] != a[j]+32)&&(str[i+j] != a[j]-32))

{

flag = 0;

break;

}

}

if (flag)//如果相同,則輸出b,完成替換

{

printf("%s",b);

i = i + num1;

i--;

}

else//如果不相同,按照原來的輸出

printf("%c", str[i]);

}

}

return 0;

}

總結

以上是生活随笔為你收集整理的c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。