精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩女同互慰一区二区| 自拍偷拍国产精品| 91爱视频在线| 老头老太做爰xxx视频| www999久久| 亚洲成av人片在线观看| 日本一区二区在线视频观看| 91丨九色丨丰满| 狠狠入ady亚洲精品| 亚洲欧美一区二区激情| 在线不卡一区二区三区| h片视频在线观看| 中文字幕高清一区| 国产精品一区二区在线观看| 亚洲视屏在线观看| 亚洲激情午夜| 久久精品成人欧美大片古装| 97人妻精品一区二区三区免 | 欧美激情99| 欧美日韩中文字幕精品| cao在线观看| 日韩免费网站| 久久嫩草精品久久久精品一| 5g影院天天爽成人免费下载| 亚洲大尺度在线观看| 狠狠久久婷婷| 麻豆国产精品va在线观看不卡 | 中文字幕天天干| 123区在线| 尤物av一区二区| 亚洲免费视频一区| 欧美日韩国产综合视频| 北条麻妃一区二区三区| 96sao精品视频在线观看| 波多野结衣一本一道| 亚洲视频www| 欧美福利在线观看| 国产suv一区二区三区| 凹凸成人精品亚洲精品密奴| 亚洲欧美精品在线| 国产又黄又粗又猛又爽的视频| 试看120秒一区二区三区| 欧美日韩aaa| 牛夜精品久久久久久久| 成人自拍av| 91福利资源站| 性欧美极品xxxx欧美一区二区| 乡村艳史在线观看| 黑丝美女久久久| 国产成人在线免费看| free性护士videos欧美| 亚洲国产成人高清精品| 拔插拔插海外华人免费| av电影免费在线看| 亚洲超碰97人人做人人爱| avav在线播放| heyzo高清在线| 图片区小说区区亚洲影院| 久青草视频在线播放| 狂野欧美激情性xxxx欧美| 一区二区三区中文字幕精品精品 | av男人的天堂在线观看| 亚洲电影第三页| 鲁一鲁一鲁一鲁一色| 久久影院午夜精品| 色婷婷国产精品久久包臀 | 丝袜美腿一区| 欧美性淫爽ww久久久久无| 91香蕉视频污版| 中文成人在线| 精品国产99国产精品| 在线观看国产免费视频| 久久不见久久见中文字幕免费| 国产一区二区三区日韩欧美| 成人性视频免费看| 一区二区蜜桃| 性亚洲最疯狂xxxx高清| 男人天堂av在线播放| 日韩高清一区在线| 91精品在线观| 午夜av免费观看| 欧美国产欧美综合| 成人国产在线看| 新版的欧美在线视频| 欧美色国产精品| 中文字幕乱妇无码av在线| 国产精品极品| 中文字幕日韩免费视频| 成熟的女同志hd| 中文亚洲欧美| 国产在线精品一区免费香蕉| 午夜精品无码一区二区三区| 久久噜噜亚洲综合| 久久最新免费视频| 芒果视频成人app| 在线综合亚洲欧美在线视频| 日韩aaaaa| 888久久久| 1769国产精品| 国产人妖在线播放| 久久久夜色精品亚洲| 操bbb操bbb| 蜜桃视频成人m3u8| 精品国产三级电影在线观看| 中文字幕黄色网址| 夜久久久久久| dy888夜精品国产专区| 免费人成黄页在线观看忧物| 亚洲猫色日本管| 成人一级片网站| 香蕉大人久久国产成人av| 亚洲图片欧美午夜| 国产污污视频在线观看| 国产乱子伦视频一区二区三区| 欧美日韩另类综合| 91九色porn在线资源| 91精品国产综合久久精品麻豆| 91av在线免费| 在线日韩av| 亚洲伊人成综合成人网| 97在线观看免费观看高清| 午夜欧美2019年伦理| 日韩欧美色视频| 国产精品国内免费一区二区三区| 青青草一区二区| 人妻少妇精品无码专区| 亚洲精品久久7777| 成人日韩在线视频| 久久99高清| 欧美综合在线第二页| 黄色片一区二区三区| 亚洲伦理在线精品| 亚洲综合激情视频| 久久视频精品| 国产精品入口日韩视频大尺度 | 久久久久毛片免费观看| 一区二区日韩精品| 无码无套少妇毛多18pxxxx| 91在线高清观看| 九色自拍视频在线观看| 国产精品x8x8一区二区| 欧美精品videos性欧美| 亚洲xxxx天美| 亚洲最大的成人av| 年下总裁被打光屁股sp| 欧美精品导航| 风间由美久久久| 国产乱码在线| 欧美r级在线观看| 久久97人妻无码一区二区三区| 国产一区在线视频| 69精品丰满人妻无码视频a片| 欧美日韩国产一区二区在线观看| 欧美成人精品三级在线观看| 精品国产av一区二区| 一区二区三区欧美日| 男人女人拔萝卜视频| 黄色亚洲在线| 精品在线观看一区二区| 另类激情视频| www国产亚洲精品久久网站| ,亚洲人成毛片在线播放| 国产精品盗摄一区二区三区| 黄色三级视频在线播放| 国产综合精品| 欧美另类一区| 精品福利在线| 日韩有码在线视频| 亚洲男女视频在线观看| 精品动漫一区二区| 法国空姐电影在线观看| 久久精品国产一区二区三| 五月天综合婷婷| 国产成人澳门| 热久久免费国产视频| www亚洲人| 日韩一区二区三区三四区视频在线观看| 91视频免费在线看| 91美女在线视频| 国产精欧美一区二区三区白种人| 国产精品av一区二区| 牛人盗摄一区二区三区视频| 欧洲亚洲精品| 91精品国产电影| a天堂在线资源| 日韩欧美黄色影院| 加勒比在线一区| 亚洲女爱视频在线| 李宗瑞91在线正在播放| 加勒比av一区二区| 国产偷人视频免费| 一个色综合网| 日韩高清dvd| 亚洲一区二区三区四区电影| 国产999精品久久久| 97超碰在线公开在线看免费| 亚洲精品网站在线播放gif| 国产乱码一区二区| 色欧美片视频在线观看在线视频| 四虎影院中文字幕| 久久在线免费观看| 国产成人精品一区二区在线小狼| 视频一区二区欧美| 男女私大尺度视频| 图片区亚洲欧美小说区| 免费精品视频一区| 91在线一区| 成人中文字幕+乱码+中文字幕| 小草在线视频免费播放| 色综合91久久精品中文字幕| 99re在线视频| 亚洲欧美日韩视频一区| 亚洲精品网站在线| 91精品欧美久久久久久动漫| 国产视频1区2区| 亚洲1区2区3区视频| 国产精品丝袜一区二区| 国产欧美一区二区三区在线看蜜臀| 野战少妇38p| 国产精品一二三在| 日本美女视频一区| 日韩 欧美一区二区三区| 国产极品在线视频| 亚洲婷婷免费| 久久久天堂国产精品| 久久亚洲在线| 无遮挡亚洲一区| 蜜桃精品噜噜噜成人av| 国产在线精品一区二区中文| 视频精品国内| 92看片淫黄大片欧美看国产片 | 国产日本一区二区三区| 青草伊人久久| 99国产高清| 清纯唯美激情亚洲| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美精品电影在线| 手机在线免费观看av| 久久国产精品99国产精| 成人三级网址| 欧美精品做受xxx性少妇| a级影片在线观看| 欧美日本高清一区| 久久av色综合| 97久久国产精品| 蜜桃麻豆av在线| 欧美性在线观看| 欧美精品高清| 国产在线999| 在线成人免费| 国产a一区二区| 国产在线播放精品| 久久精品ww人人做人人爽| 色吊丝一区二区| 欧美精品一区二区视频| 少妇一区二区视频| 亚洲草草视频| 91精品91| av网站手机在线观看| 亚洲看片一区| 国产成人综合一区| 日本欧美韩国一区三区| 亚洲视频一二三四| 国产成人av一区二区三区在线| 免费黄色av网址| av午夜一区麻豆| 欧美偷拍一区二区三区| 国产精品免费看片| 色婷婷在线视频观看| 亚洲国产精品欧美一二99| 亚洲欧美综合自拍| 欧美日韩国产免费一区二区| 国产chinasex对白videos麻豆| 亚洲成色www8888| 国产在线资源| 美女av一区二区三区 | 亚洲啪av永久无码精品放毛片| av一区二区三区四区| 亚洲欧美va天堂人熟伦| 亚洲欧洲综合另类在线 | 欧美精品日韩综合在线| 亚洲乱码在线观看| 亚洲欧美成人精品| 国产欧美黑人| 欧美在线免费看| 97色婷婷成人综合在线观看| 精品国产_亚洲人成在线| 欧美伦理影院| 男人天堂av片| 蜜桃av一区二区三区电影| 2018国产精品| 中文字幕欧美国产| 国产无遮挡又黄又爽| 欧美性大战久久久久久久蜜臀 | 成人三级伦理片| 日本精品在线观看视频| 夜夜精品浪潮av一区二区三区| 日韩熟女一区二区| 欧美成人精品福利| 免费av网站在线看| 欧美在线视频观看免费网站| 欧美视频二区欧美影视| 欧美亚洲一级二级| 伊人成人在线视频| 污视频网址在线观看| 久久无码av三级| 九九精品在线观看视频| 欧美日韩亚洲综合在线| 午夜福利理论片在线观看| 久久精品夜夜夜夜夜久久| 成人免费av电影| 久草热久草热线频97精品| 欧美精品aa| 中文字幕国产高清| 中文字幕精品一区二区精品绿巨人| 日韩av女优在线观看| 91精品欧美一区二区三区综合在| av免费观看一区二区| 2019中文字幕在线免费观看| 精品国产亚洲一区二区三区在线| 台湾成人av| 乱码第一页成人| 亚洲av无码国产精品久久| 亚洲国产aⅴ天堂久久| aa视频在线免费观看| 精品国产拍在线观看| 日本一区二区三区视频在线| 免费试看一区| 亚洲一区二区网站| 一级特黄a大片免费| 亚洲国产aⅴ天堂久久| 亚洲精品国产精品国| 九九精品在线视频| 久久久久久久久久久久电影| 久久精品国产精品亚洲精品色 | 色哟哟一区二区在线观看 | 久久综合九色综合97婷婷 | 久久久精品网| 中文字幕一二三四区| 午夜av一区二区三区| 少妇av在线播放| 国语对白做受69| 激情亚洲另类图片区小说区| 青草视频在线观看视频| 成人免费看的视频| 激情五月色婷婷| 精品亚洲一区二区| 另类专区亚洲| 亚洲人成人77777线观看| 六月丁香综合在线视频| 在线观看黄网址| 欧美成人官网二区| 大桥未久在线播放| 精品一卡二卡三卡四卡日本乱码| 国产日本精品| 阿v天堂2014| 欧美精品久久一区| 日本一本在线免费福利| 韩日午夜在线资源一区二区| 99在线精品视频在线观看| 中文字幕高清视频| 在线视频亚洲一区| 嫩草在线视频| 国产一区二区高清不卡| 久久xxxx| 欧美视频一区二区在线| 日韩欧美国产综合| 日韩伦理精品| 偷拍视频一区二区| 国产aⅴ综合色| 国产免费av一区| 日韩在线观看免费全集电视剧网站| 国产高清日韩| 女人天堂av手机在线| 欧美国产激情二区三区| av中文字幕免费在线观看| 2018日韩中文字幕| 日韩成人精品一区| 好吊操视频这里只有精品| 精品久久久久久亚洲精品| www黄在线观看| 国产九色91| 日本午夜精品视频在线观看 | 日本不卡不卡| 高清日韩一区| 免费视频最近日韩| 日韩激情一区二区三区| 国产亚洲精品日韩| 日韩中文字幕在线一区| 久久久久狠狠高潮亚洲精品| 国产精品成人免费| 五月婷婷在线播放| 91沈先生作品| 麻豆成人在线| 精品无码一区二区三区电影桃花| 亚洲香蕉成人av网站在线观看| 欧美国产亚洲精品| 黄色三级视频在线| 亚洲成a人片在线不卡一二三区| 婷婷成人激情|