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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

简单子串查找--strstr的使用(ZCMU1108)

發(fā)布時(shí)間:2024/9/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单子串查找--strstr的使用(ZCMU1108) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1108: 松哥的困惑
Time Limit: 1 Sec Memory Limit: 128 MB
Description
都到世界末日了,松哥都沒(méi)找到女朋友,因此松哥感到很困惑.沒(méi)想到到了世界末日都沒(méi)人喜歡我.松哥一生氣就發(fā)布了征友啟事,第二天,一共有n個(gè)人報(bào)名應(yīng)征松哥女友.松哥對(duì)女友的要求有三點(diǎn),第一點(diǎn),名字必須有三個(gè)字,第二點(diǎn),名字中要帶Li,第三點(diǎn)名字中要帶Ting.松哥希望你能從n個(gè)人中.松哥決定選取一人并和她約會(huì).你能找到是誰(shuí)嘛?
Input
多組測(cè)試數(shù)據(jù).
每組測(cè)試數(shù)據(jù)的第一行是一個(gè)正整數(shù)(n<=100).
接下來(lái)n行分別有n個(gè)名字.每個(gè)名字不超過(guò)20個(gè)字符.
名字的格式為:名+姓,且首字母大寫(xiě),比如沈利松就叫LiSongShen.
Output
對(duì)于每組數(shù)據(jù)輸出與松哥約會(huì)的名字.
輸入數(shù)據(jù)保證只有一個(gè)人滿足松哥的要求.
Sample Input
2
LiSongShen
LiTingXu
Sample Output
LiTingXu
Way1使用了strstr函數(shù):

#include <stdio.h> #include <string.h> char a[25],b[30]; int main() {int n;while(~scanf("%d",&n)){int flag = 0;while(n--){memset(a,'\0',sizeof(a));scanf("%s",a);const char *p = "Li";//不加const會(huì)有警告const char *q = "Ting";int num = 0;if(!flag){for(int i = 0; a[i] != '\0'; i++){if(a[i] >='A' && a[i] <= 'Z'){num++;}}if(num >= 3){if(strstr(a,p)&& strstr(a,q)){strcat(b,a);flag = 1;}}}}if(n == -1){for(int i =0; b[i] != '\0'; i++)printf("%c",b[i]);printf("\n");memset(b,'\0',sizeof(b));}}return 0; }

Way2未使用strstr:

#include <stdio.h>#include <string.h>char a[25],b[25];int main(){int n,f;while(~scanf("%d",&n)){while(n--){memset(a,'\0',sizeof(a));scanf("%s",a);int num = 0, flag1 = 0,flag2 = 0,flag = 0;if(!flag){for(int i = 0; a[i] != '\0'; i++){if(a[i] >= 'A' && a[i] <= 'Z'){num++;}if(num >= 3){for(int j = 1; a[j] != '\0'; j++){if(a[j] == 'i' && a[j-1] == 'L'){flag1 = 1;break;}}if(flag1){char c[6];for(int k = 0; a[k] != '\0'; k++){memset(c,'\0',sizeof(c));int t = 0;for(int j = k; j< k+4; j++){c[t++] = a[j];}if(strcmp(c,"Ting") == 0){flag2 = 1;break;}}}if(flag2){flag = 1;strcat(b,a);break;}}}}}if(n == -1){for(int i = 0; b[i] != '\0'; i++)printf("%c",b[i]);printf("\n");memset(b,'\0',sizeof(b));}}return 0;}

總結(jié)

以上是生活随笔為你收集整理的简单子串查找--strstr的使用(ZCMU1108)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。