精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

【字符串處理算法】字符串包含的算法設計及C代碼實現

開發 開發工具 算法
今天講一講字符串包含的算法設計及C代碼實現。

一、需求描述

給定一個長字符串和一個短字符串,編寫程序判斷短字符串中的所有字符是否都在長字符串中。如果是,則長字符串包含短字符串;反之,不包含。

為了盡量包含大多數情況,字符串中可以包含大小寫英文字母、數字和各種標點符號,并且區分大小寫字母。

下面舉幾個例子予以說明:

1.如果長字符串是“ABCDE”,短字符串是“ADC”,那么短字符串中的所有字符都在長字符串中,即長字符串包含了短字符串。

2.如果長字符串是“ABCDE”,短字符串是“ADCF”,那么短字符串中不是所有字符都在長字符串中,即長字符串不包含了短字符串。

3.如果長字符串是“ABCDE”,短字符串是“AAB”,那么短字符串中的所有字符都在長字符串中,即長字符串包含了短字符串。

[[180306]]

二、算法設計

我們都知道,就像人體是由一個個的細胞組成一樣,一個字符串是由一個個的字符組成。如果組成某個字符串的所有字符都在另一個字符串中,那么這個字符串就被另一個字符串包含。

因此,我們可以考慮先將兩個字符串中的所有字符都找出來,再判斷較短的字符串中的所有字符是否都出現在了較長的字符串中。如果是,那么兩個字符串是包含與被包含的關系;如果不是,那么兩個字符串則“形同陌路”。

程序的總體流程如圖1所示。

圖1 程序的總體流程

三、特殊流程考慮

在編寫程序的過程中,我們要對輸入的兩個字符串的長度及格式多做考慮,如:

1.如果輸入失誤,導致短字符串的長度大于了長字符串,那么程序直接返回,不進行后續處理。

2.不允許在輸入字符串的中間出現空格,如果出現了,只能把空格前面的內容作為輸入的字符串。

3.輸入字符串可以包含字母(區分大小寫)、數字、標點符號等字符。

4.為了方便程序處理,設定較長的字符串最長為500個字節,較短的字符串最長為100個字節。

四、程序代碼

  1. /********************************************************************** 
  2. * 版權所有 (C)2016, Zhou Zhaoxiong。 
  3. * 文件名稱: StringContains.c 
  4. * 文件標識: 無 
  5. * 內容摘要: 測試一個字符串是否是另一個字符串的子串 
  6. * 其它說明: 例如, "ABC"是"ABCD"的子串 
  7. * 當前版本: V1.0 
  8. * 作    者: Zhou Zhaoxiong 
  9. * 完成日期: 20160216 
  10. **********************************************************************/ 
  11. #include <stdio.h> 
  12. #include <stdlib.h> 
  13.  
  14. // 重新定義數據類型 
  15. typedef signed   char       INT8; 
  16. typedef unsigned short int  UINT16; 
  17. typedef          int        INT32; 
  18. typedef unsigned int        UINT32; 
  19.  
  20. // 存放字符串中的字符和格式的結構體 
  21. typedef struct 
  22.     INT8   szStrCharArray[101][2];     // 字符串中不相同的字符的存放數組,***支持100個 
  23.     INT32  iStrCharCount;              // 字符串中不相同的字符的個數 
  24. } StrInfo_T; 
  25.  
  26. StrInfo_T gtLongerStrInfo  = {0}; 
  27. StrInfo_T gtShorterStrInfo = {0}; 
  28.  
  29.  
  30. // 函數聲明 
  31. void GetStrChar(INT8 *pszInputStr, INT32 iProcessFlag); 
  32. INT32 JudgeIfContainsStr(); 
  33.  
  34.  
  35. /********************************************************************** 
  36. * 功能描述: 主函數 
  37. * 輸入參數: 無 
  38. * 輸出參數: 無 
  39. * 返 回 值: 0-執行成功   其它-執行失敗 
  40. * 其它說明: 無 
  41. * 修改日期        版本號       修改人          修改內容 
  42. * ----------------------------------------------------------------- 
  43. * 20160216        V1.0     Zhou Zhaoxiong        創建 
  44. ***********************************************************************/ 
  45. INT32 main() 
  46.     INT8   szLongerStr[500]   = {0}; 
  47.     INT8   szShorterStr[100]  = {0}; 
  48.      
  49.     UINT32 iContainFlag = 1;     // 包含標志, 1-包含, 0-不包含 
  50.      
  51.     printf("Please input the longer string: \n"); 
  52.     scanf("%s", szLongerStr); 
  53.     printf("LongerStr=%s\n", szLongerStr); 
  54.  
  55.     printf("Please input the shorter string: \n"); 
  56.     scanf("%s", szShorterStr); 
  57.     printf("ShorterStr=%s\n", szShorterStr); 
  58.  
  59.     // 如果ShorterStr的長度大于LongerStr, 則直接返回 
  60.     if (strlen(szShorterStr) > strlen(szLongerStr)) 
  61.     { 
  62.         printf("%s is longer than %s, please check!\n", szShorterStr, szLongerStr); 
  63.         return -1; 
  64.     } 
  65.      
  66.     // 獲取較長的字符串中的不同的字符 
  67.     GetStrChar(szLongerStr, 1); 
  68.  
  69.     // 獲取較短的字符串中的不同的字符 
  70.     GetStrChar(szShorterStr, 2); 
  71.  
  72.     iContainFlag = JudgeIfContainsStr(); 
  73.     if (iContainFlag == 0) 
  74.     { 
  75.         printf("%s doesn't contain %s!\n", szLongerStr, szShorterStr); 
  76.     } 
  77.     else 
  78.     { 
  79.         printf("%s contains %s!\n", szLongerStr, szShorterStr); 
  80.     } 
  81.      
  82.     return 0;             
  83.  
  84.  
  85. /********************************************************************** 
  86. * 功能描述: 獲取字符串中不相同的字符及其個數 
  87. * 輸入參數: pszInputStr-輸入字符串 
  88.              iProcessFlag-處理標志(1:處理長字符串, 2:處理短字符串) 
  89. * 輸出參數: 無 
  90. * 返 回 值: 無 
  91. * 其它說明: 無 
  92. * 修改日期          版本號         修改人           修改內容 
  93. * --------------------------------------------------------------- 
  94. * 20160216          V1.0       Zhou Zhaoxiong        創建 
  95. ***********************************************************************/ 
  96. void GetStrChar(INT8 *pszInputStr, INT32 iProcessFlag) 
  97.     INT32  iCharCount      = 0;                // 字符個數 
  98.     INT8   szInputStr[501] = {0}; 
  99.     INT8   szCharBuf[2]    = {0};              // 存放單個字符的緩存 
  100.     INT32  iRepeatFlag     = 0
  101.     UINT32 iStrPosFlag     = 0
  102.     UINT32 iLoopFlag       = 0
  103.     UINT32 iInputStrLen    = 0
  104.  
  105.     if (pszInputStr == NULL) 
  106.     { 
  107.         return; 
  108.     } 
  109.  
  110.     iInputStrLen = strlen(pszInputStr); 
  111.     if (iInputStrLen >= 500)  // ***支持100個字母 
  112.     { 
  113.         return; 
  114.     } 
  115.  
  116.     memcpy(szInputStr, pszInputStr, iInputStrLen); 
  117.  
  118.     iCharCount = 0
  119.  
  120.     for (iStrPosFlag = 0; iStrPosFlag < iInputStrLen; iStrPosFlag ++) 
  121.     { 
  122.         iRepeatFlag = 0
  123.          
  124.         // 判斷正要獲取的字符是否已經存在了 
  125.         memset(szCharBuf, 0x00, sizeof(szCharBuf)); 
  126.         memcpy(szCharBuf, szInputStr+iStrPosFlag, 1); 
  127.  
  128.         // 若與之前已經加入的字符重復, 則忽略 
  129.         for (iLoopFlag = 0; iLoopFlag < iCharCount; iLoopFlag ++) 
  130.         { 
  131.             if (iProcessFlag == 1)    // 處理長字符串 
  132.             { 
  133.                 if (0 == strncmp(gtLongerStrInfo.szStrCharArray[iLoopFlag], szCharBuf, 1)) 
  134.                 { 
  135.                     iRepeatFlag = 1;  // 有重復的, 直接忽略 
  136.                     break; 
  137.                 } 
  138.             } 
  139.             else                     // 處理短字符串 
  140.             { 
  141.                 if (0 == strncmp(gtShorterStrInfo.szStrCharArray[iLoopFlag], szCharBuf, 1)) 
  142.                 { 
  143.                     iRepeatFlag = 1;  // 有重復的, 直接忽略 
  144.                     break; 
  145.                 } 
  146.             } 
  147.         } 
  148.  
  149.         if (1 == iRepeatFlag) 
  150.         { 
  151.             continue; 
  152.         } 
  153.  
  154.         if (iProcessFlag == 1)    // 處理長字符串 
  155.         { 
  156.             strncpy(gtLongerStrInfo.szStrCharArray[iCharCount], szCharBuf, 1); 
  157.         } 
  158.         else                      // 處理短字符串 
  159.         { 
  160.             strncpy(gtShorterStrInfo.szStrCharArray[iCharCount], szCharBuf, 1); 
  161.         } 
  162.  
  163.         iCharCountiCharCount = iCharCount + 1; 
  164.     } 
  165.  
  166.     if (iProcessFlag == 1)    // 處理長字符串 
  167.     { 
  168.         gtLongerStrInfo.iStrCharCount = iCharCount
  169.     } 
  170.     else                      // 處理短字符串 
  171.     { 
  172.         gtShorterStrInfo.iStrCharCount = iCharCount
  173.     } 
  174.  
  175.     return; 
  176.  
  177.  
  178. /********************************************************************** 
  179. * 功能描述: 判斷長字符串是否包含了短字符串 
  180. * 輸入參數: 無 
  181. * 輸出參數: 無 
  182. * 返 回 值: 1-包含了 0-沒有包含 
  183. * 其它說明: 無 
  184. * 修改日期          版本號         修改人           修改內容 
  185. * --------------------------------------------------------------- 
  186. * 20160216          V1.0       Zhou Zhaoxiong        創建 
  187. ***********************************************************************/ 
  188. INT32 JudgeIfContainsStr() 
  189.     UINT32 iLongerLoopFlag    = 0
  190.     UINT32 iShorterLoopFlag   = 0
  191.     UINT32 iCharIdenticalFlag = 0
  192.  
  193.     // 判斷較短的字符串中的字符是否全部都在較長的字符串中的字符中 
  194.     for (iShorterLoopFlag = 0; iShorterLoopFlag < gtShorterStrInfo.iStrCharCount; iShorterLoopFlag ++) 
  195.     { 
  196.         iCharIdenticalFlag = 0
  197.         for (iLongerLoopFlag = 0; iLongerLoopFlag < gtLongerStrInfo.iStrCharCount; iLongerLoopFlag ++) 
  198.         { 
  199.             if (strcmp(gtShorterStrInfo.szStrCharArray[iShorterLoopFlag], gtLongerStrInfo.szStrCharArray[iLongerLoopFlag]) == 0) 
  200.             { 
  201.                 iCharIdenticalFlag = 1;    // 字符相同 
  202.                 break; 
  203.             } 
  204.         } 
  205.  
  206.         if (iCharIdenticalFlag == 0)     // 表示兩個字符串中有不相同的字符 
  207.         { 
  208.             return 0; 
  209.         } 
  210.     } 
  211.  
  212.     return 1; 

五、程序測試

我們將編寫好的程序“StringContains.c”上傳到Linux機器,并使用“gcc -g -o StringContainsStringContains.c”命令對該程序進行編譯,生成“StringContains”文件。下面對程序進行詳細的測試。

1.輸入較長字符串為“ABCDF”、較短字符串為“AF”時,程序運行情況如下:

  1. Please input the longer string: 
  2. ABCDF 
  3. LongerStr=ABCDF 
  4. Please input the shorter string: 
  5. AF 
  6. ShorterStr=AF 
  7. ABCDF contains AF! 

2.輸入較長字符串為“AB”、較短字符串為“ABC”時,程序運行情況如下:

  1. Please input the longer string: 
  2. AB 
  3. LongerStr=AB 
  4. Please input the shorter string: 
  5. ABC 
  6. ShorterStr=ABC 
  7. ABC is longer than AB, please check! 

3.輸入較長字符串為“awe”、較短字符串為“rf”時,程序運行情況如下:

  1. Please input the longer string: 
  2. awe 
  3. LongerStr=awe 
  4. Please input the shorter string: 
  5. rf 
  6. ShorterStr=rf 
  7. awe doesn't contain rf! 

4.輸入較長字符串為“`11245”、較短字符串為“45”時,程序運行情況如下:

  1. Please input the longer string: 
  2. `11245 
  3. LongerStr=`11245 
  4. Please input the shorter string: 
  5. 45 
  6. ShorterStr=45 
  7. `11245 contains 45! 

5.輸入較長字符串為“123”、較短字符串為“123 45”時,程序運行情況如下:

  1. Please input the longer string: 
  2. 123 
  3. LongerStr=123 
  4. Please input the shorter string: 
  5. 123 45 
  6. ShorterStr=123 
  7. 123 contains 123! 

可見,對于上面考慮到的幾種特殊情況,程序均能做出正確的處理。

六、需求擴展

基于本文中的需求和程序,我們可考慮對需求進行以下擴展:

1.限制輸入的字符串中只能包含字母,如果包含了其它字符,則直接退出而不進行處理。

 

2.如果較短的字符串中的所有字符雖然都在較長的字符串中,但某個字符在較短的字符串中出現的次數大于了在較長的字符串中出現的次數,那么就認為較長的字符串不包含較短的字符串。

【本文是51CTO專欄作者周兆熊的原創文章,作者微信公眾號:周氏邏輯(logiczhou)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2016-12-30 13:16:51

字符串算法代碼

2016-12-29 17:14:41

回文串算法代碼

2016-12-30 13:37:50

字符串算法代碼

2016-12-29 15:58:00

字符串子串算法

2016-12-29 17:07:59

字符算法代碼

2023-02-26 22:33:32

字符串排列算法

2009-08-11 10:26:49

C#算法C#字符串反轉

2021-09-03 09:41:36

字符串時間復雜度

2023-12-15 10:27:01

暴力匹配算法Python字符串

2013-05-06 10:54:08

字符串字符串匹配KMP算法

2010-11-26 09:51:54

MySQL字符串

2023-04-11 08:54:57

字符串匹配算法

2021-09-10 08:31:54

翻轉字符串單詞

2013-05-06 10:49:21

Boyer-Moore算法字符串匹配

2016-12-29 16:25:32

字符串算法代碼

2024-07-03 11:23:14

2010-11-26 10:43:48

MySQL分割字符串

2024-01-09 16:43:49

Shell腳本開發

2010-09-09 11:48:00

SQL函數字符串

2010-08-04 11:23:15

Flex字符串
點贊
收藏

51CTO技術棧公眾號

97人人模人人爽视频一区二区| 伊人一区二区三区久久精品| av在线播放亚洲| 无码国精品一区二区免费蜜桃| 亚洲黄色av| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 欧美乱熟臀69xxxxxx| www.国产二区| 大乳在线免费观看| 国产成人综合网站| 国产精品成人一区二区| 国产性70yerg老太| 国产欧美久久一区二区三区| 日韩一区和二区| 日本精品免费在线观看| 成人午夜在线影视| 久久精品欧美日韩精品| y111111国产精品久久婷婷| 久久精品视频5| 欧美精品日韩| 色妞久久福利网| 免费成人深夜夜行p站| 国产精久久久| 在线免费观看日韩欧美| 国产在线播放观看| dj大片免费在线观看| 91网站在线播放| 99视频在线| 91成品人影院| 日韩av电影天堂| 91精品国产高清自在线| 久草网在线观看| 国产精品黑丝在线播放| 国产小视频91| 3d动漫精品啪啪一区二区下载| 亚洲成人黄色| 欧美一区永久视频免费观看| 欧美性猛交xxx乱久交| 美女露胸视频在线观看| 亚洲一区二区三区免费视频| www.午夜色| 1024国产在线| 国产精品系列在线| 日韩av高清| 欧美在线一卡| 99久久精品国产精品久久| 51国偷自产一区二区三区| 91亚洲国产成人精品一区| 日韩综合一区二区| 国产高清视频一区三区| 国产午夜麻豆影院在线观看| 香蕉视频成人在线观看| 欧美一区在线直播| 久久久蜜桃一区二区| 先锋影音久久久| 欧美在线国产精品| 依依成人综合网| 亚洲综合日韩| 日韩女优人人人人射在线视频| 黑人一级大毛片| 亚洲一区自拍| 国产成人黄色av| 国产字幕在线观看| 日本成人中文字幕| 国产日韩欧美自拍| 国产欧美久久久| 国产91在线|亚洲| 国产精品一区二区三区观看| 欧美一区二区三区成人片在线| 99国产精品久久久久久久久久久| 欧美精品人人做人人爱视频| 成人综合影院| 亚洲欧美经典视频| 777777av| aaaa欧美| 亚洲精品一线二线三线| 久久精品综合视频| 成人3d动漫在线观看| 日韩视频在线观看免费| 久久久久久久极品内射| 国产精品久久久久久久久久妞妞| 国产成人精品视频在线观看| 亚洲天堂手机版| 国产黄色成人av| 欧美二区三区| 黄网站视频在线观看| 午夜精品一区在线观看| 成人性视频欧美一区二区三区| 欧美日韩伦理一区二区| 亚洲成**性毛茸茸| 天天干天天舔天天操| 中文一区一区三区免费在线观看| 性日韩欧美在线视频| 亚洲午夜无码久久久久| 国产精品一区二区三区网站| 久久综合九色99| 米奇777四色精品人人爽| 亚洲图片欧美色图| 亚洲一区二区三区四区五区xx| 国产精品一区二区精品视频观看| 精品国产乱码久久久久久1区2区 | 国产 日韩 亚洲 欧美| 成人国产精品一区二区免费麻豆 | 久久经典视频| 亚洲黄色免费网站| 欧美在线观看视频网站| 亚洲一区电影| 中文字幕欧美视频在线| 国产精品第一页在线观看| 日本aⅴ精品一区二区三区| 国产精品加勒比| 秋霞a级毛片在线看| 懂色aⅴ精品一区二区三区蜜月| 黄色一级二级三级| 精品伊人久久久| 美女精品视频一区| 最新国产中文字幕| 久久综合久久综合久久综合| 毛片在线视频观看| 国产成人免费精品| 日韩精品黄色网| 青春草免费视频| 蜜臀国产一区二区三区在线播放| 久久国产精品一区二区三区| 调教一区二区| 91麻豆精品久久久久蜜臀| 中字幕一区二区三区乱码| 亚洲人成久久| 成人资源视频网站免费| 超碰个人在线| 欧美卡1卡2卡| 在线视频这里只有精品| 日本不卡一区二区三区高清视频| 欧美久久在线| 中文字幕不卡三区视频| 亚洲精品国产精品乱码不99按摩 | 精品人妻伦一区二区三区久久| 91色视频在线| 野外做受又硬又粗又大视频√| 白嫩亚洲一区二区三区| 精品国产一区久久久| 中文字幕在线观看欧美| 国产视频一区在线播放| 亚洲色欲综合一区二区三区| 欧美巨大xxxx| 欧美亚洲国产视频小说| 少妇高潮一区二区三区69| 亚洲午夜久久久久中文字幕久| 杨幂一区二区国产精品| 亚洲欧美色图| 91超碰在线电影| 成人午夜在线影视| 91精品国产aⅴ一区二区| 97在线观看视频免费| 九九热在线视频观看这里只有精品| 亚洲视频精品一区| 欧美黄色成人| 美日韩精品免费视频| 国产99视频在线| 亚洲午夜国产一区99re久久| 制服丝袜av在线| 国产日韩精品视频一区二区三区| 精品国产乱码久久久久软件| 伊人久久视频| 中文字幕成人在线| 97超视频在线观看| 亚洲曰韩产成在线| 少妇精品一区二区三区| 青青草原综合久久大伊人精品优势| 相泽南亚洲一区二区在线播放| 欧美美女被草| 久久免费福利视频| 国产色a在线| 日韩一区二区三区四区五区六区 | 一区二区三区视频网站| 3atv在线一区二区三区| 国产精品成人av久久| 久久久久国产精品麻豆| 日韩欧美亚洲另类| 今天的高清视频免费播放成人| 国产呦系列欧美呦日韩呦| 视频在线日韩| 欧美老肥婆性猛交视频| 四虎影视2018在线播放alocalhost| 色狠狠一区二区| 日本aⅴ在线观看| 91色|porny| 成人综合久久网| 亚洲毛片av| 亚洲欧美综合一区| 国产精品qvod| 国产美女精品免费电影| 啊啊啊久久久| 色琪琪综合男人的天堂aⅴ视频| 午夜精品久久久久久久99| 色综合久久综合网| 青青草原在线免费观看视频| 91捆绑美女网站| 欧美视频亚洲图片| 欧美中文字幕| 激情视频小说图片| 欧美猛男同性videos| 91精品婷婷国产综合久久蝌蚪| av综合电影网站| 亚洲欧美日韩国产综合精品二区| 51ⅴ精品国产91久久久久久| 思思99re6国产在线播放| 亚洲高清一区二| 一级黄色a视频| 欧美性猛交xxxx免费看漫画| 国产成人无码aa精品一区| 欧美激情资源网| 荫蒂被男人添免费视频| 国产最新精品精品你懂的| www.亚洲天堂网| 伊人狠狠色j香婷婷综合| 制服诱惑一区| 国产精品欧美三级在线观看| 国产精品国产三级欧美二区| 亚洲日日夜夜| 国产精品九九久久久久久久| 成人黄色动漫| 欧美精品中文字幕一区| 91最新在线| 亚洲一区二区精品| 亚洲人妻一区二区| 亚洲成人精品在线| 亚洲爱情岛论坛永久| 欧美精品电影在线播放| 中文人妻熟女乱又乱精品| 欧美性极品xxxx娇小| 日韩xxx高潮hd| 亚洲一区二区视频| 欧美成人免费看| 最新国产の精品合集bt伙计| 日韩欧美黄色网址| 久久久国产一区二区三区四区小说| 天堂www中文在线资源| 国产91丝袜在线播放0| 国产裸体视频网站| 国产精品羞羞答答xxdd| 日韩高清在线一区二区| 国内久久精品视频| 亚洲精品成人在线播放| 免费看日韩精品| 韩国中文字幕av| 日本午夜一本久久久综合| 日日摸天天爽天天爽视频| 久久一区视频| 亚洲午夜无码av毛片久久| 国产精品乱看| 亚洲男人天堂色| 日韩黄色一级片| 亚洲天堂网一区| 麻豆精品一二三| 色免费在线视频| 久久成人综合网| 尤物网站在线看| 国产成人无遮挡在线视频| 色婷婷狠狠18禁久久| 成人午夜碰碰视频| 麻豆国产精品一区| 久久亚洲捆绑美女| 国产成人免费观看网站| 中文字幕一区二区三区蜜月| 老熟妇高潮一区二区三区| 亚洲精品高清在线观看| 激情五月色婷婷| 欧美日韩性生活视频| 91视频在线视频| 欧美日韩亚洲综合在线| av手机免费看| 亚洲国产一区二区三区在线观看| 你懂得网站在线| 日韩中文在线中文网三级| 成年视频在线观看| 97在线视频观看| 99久久久国产精品免费调教网站 | 久色视频在线播放| 久久中文欧美| 天天看片天天操| av午夜一区麻豆| 中国特黄一级片| 亚洲一线二线三线视频| 日韩欧美在线观看免费| 9191成人精品久久| 污视频网站免费观看| 中文字幕欧美日韩精品| 丁香花高清在线观看完整版| 日本一区二区三区四区视频| 色综合久久久| 精品乱色一区二区中文字幕| 久久精品国产亚洲夜色av网站 | 日韩欧美卡一卡二| 深夜影院在线观看| 欧美成年人在线观看| 一根才成人网| 超碰国产精品久久国产精品99| 色综合综合色| 亚洲精品少妇一区二区| 在线观看一二三区| 亚洲国产高清aⅴ视频| 黑鬼狂亚洲人videos| 日韩欧美视频一区二区三区| av中文字幕免费| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 级毛片内射视频| 亚洲综合成人在线视频| 中文字幕一区二区三区波野结| 亚洲国产女人aaa毛片在线| 欧美尤物美女在线| 国产ts一区二区| 国产厕拍一区| 可以在线看黄的网站| 免费在线观看日韩欧美| 一卡二卡三卡四卡| 亚洲国产日韩一区二区| 国产一区二区三区三州| 亚洲人成在线电影| 国产高清自产拍av在线| 91黄色精品| 久久久久国产精品| 天堂社区在线视频| 不卡一区二区在线| 久久久精品人妻一区二区三区四| 欧美揉bbbbb揉bbbbb| 免费观看成年在线视频网站| 97超级碰碰碰| 国产女人18毛片水真多18精品| 高清无码一区二区在线观看吞精| 麻豆精品在线观看| 丰满的亚洲女人毛茸茸| 91国产成人在线| 户外极限露出调教在线视频| 2018国产精品视频| 久久丝袜视频| www精品久久| 成人av在线播放网站| 中文在线观看免费网站| 精品美女在线观看| 蜜桃传媒在线观看免费进入 | 免费视频亚洲| 91好吊色国产欧美日韩在线| 不卡一区二区三区四区| 国产大片中文字幕| 亚洲精品美女久久| 九色porny自拍视频在线观看| 国产嫩草一区二区三区在线观看| 伊人久久大香线蕉综合热线| 影音先锋资源av| 亚洲国产精品天堂| 无码国产伦一区二区三区视频| 在线视频你懂得一区| 日本新janpanese乱熟| 成人精品免费看| 中文字幕亚洲精品在线| 日韩精品久久久久久福利| 手机在线观看av| 欧美日韩国产不卡在线看| 日韩精彩视频在线观看| 91导航在线观看| 91精品麻豆日日躁夜夜躁| av片哪里在线观看| 国产在线欧美日韩| 麻豆精品91| 无码人中文字幕| 欧美一区二区久久久| 久色国产在线| 欧美日韩国产高清视频| 麻豆成人在线观看| 久久久无码精品亚洲国产| 精品中文字幕久久久久久| 91伊人久久| 蜜臀av性久久久久蜜臀av| 北岛玲一区二区三区四区 | 在线一区二区三区四区| 日本美女在线中文版| 国产精品视频免费一区| 久久综合九色综合欧美狠狠| 国产黄色小视频网站| 精品免费99久久| 日本国产欧美| 成人午夜免费剧场| 91麻豆.com| 97caocao| 欧美做受高潮电影o| 91亚洲一区| 亚洲制服丝袜在线播放| 欧美日韩在线观看一区二区 | 黄色在线视频网| 亚洲免费伊人电影| 青青操在线视频| 91久热免费在线视频| 亚洲精品乱码| 亚洲伦理一区二区三区| 亚洲精品720p| 国产一区二区三区免费在线| 国产 福利 在线| 自拍偷拍国产精品| 精品视频三区|