C/C++ 第八周串和数组 (一)顺序串算法 项目2—(四)

来源:互联网 发布:中国软件重组预期 编辑:程序博客网 时间:2024/05/22 16:56
/*        *Copyright(c)2017,烟台大学计算机学院        *All right reserved.        *文件名:main.cpp sqqueue.h sqqueue.cpp        *作者:黄士胜       *完成日期:2017年11月1日        *版本号:v1.0        *        *问题描述: 采用顺序存储的方式存储串,实现下列算法并测试。 *输入描述:无    *程序输出:见运行结果截图        */  


问题描述:

(四)

有两个串s1和s2,设计一个算法求一个这样的串,该串中的字符是s1和s2中公共字符,

所谓公共子串,是由在s1中有,且在s2中也有的字符构成的字符。例s1为”message”,s2为”agent”,得到的公共子串是”eage”:



主函数:

#include <stdio.h>#include "../sqString.h"SqString CommChar(SqString s1,SqString s2){    SqString s3;    int i,j,k=0;    for (i=0; i<s1.length; i++)    {        for (j=0; j<s2.length; j++)            if (s2.data[j]==s1.data[i])                break;        if (j<s2.length)            //s1.data[i]是公共字符        {            s3.data[k]=s1.data[i];            k++;        }    }    s3.length=k;    return s3;}int main(){    SqString s1, s2, s;    StrAssign(s1, "message");    StrAssign(s2, "agent");    s = CommChar(s1, s2);    DispStr(s);    return 0;} 


运行截图:






学习心得:


了解串中的公共子串,并且对串的练习进一步得到了锻炼。



阅读全文
0 0
原创粉丝点击