c语言判断一个序列是不是另一个的子序列
2018-06-18 04:12:40来源:未知 阅读 ()
1 #include <stdio.h> 2 #include <string.h>//添加字符串头文件 3 4 int Subsequence(char s[], char t[]) 5 { 6 int m,n,i,j; 7 n = strlen(s); //n表示序列S的长度 8 m = strlen(t); //m表示序列T的长度 9 i=0; 10 j=0; 11 if (m>n) 12 return 0; //T不是S的子序列 13 while ((i<m)&&(j<n)) 14 { 15 if(t[i]==s[j]) 16 //序列T中第i个元素与序列S中第j个元素相等 17 i=i+1; 18 j=j+1; 19 } 20 if (strstr(s,t)!=NULL) 21 return 1; //T是S的子序列 22 return 0; 23 } 24 25 26 int main() 27 { 28 int Subsequence(char s[], char t[]); 29 char s[30],t[30]; 30 int n,m; 31 32 printf("**************************************************\n"); 33 printf(" 子 序 列 判 定 算 法\n"); 34 printf("**************************************************\n\n"); 35 36 printf("您要在多少组序列中进行判定,请输入(1~100):"); 37 scanf("%d",&n); 38 printf("\n"); 39 40 m=1; 41 while(n--) 42 { 43 44 printf("请输入第%d组待匹配序列S:",m); 45 scanf("%s",s); 46 printf("请输入第%d组待匹配序列T:",m); 47 scanf("%s",t); 48 if(Subsequence(s,t)) 49 printf("序列T(%s)是序列S(%s)的子序列。\n\n",t,s); 50 else 51 printf("序列T(%s)不是序列S(%s)的子序列。\n\n",t,s); 52 m++; 53 } 54 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:seL4环境配置
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- 一个工业级、跨平台、轻量级的 tcp 网络服务框架:gevent 2020-06-05
- C语言程序结构 2020-05-31
- 分享一个自己项目中用到的c++版的日志类(对初学者十分有用的 2020-05-22
- C++ 单独编译 2020-05-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash