第8周项目2.2-4

来源:互联网 发布:做网络监控用几类线 编辑:程序博客网 时间:2024/06/05 10:12
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:ssas.cbp 作    者:李金朴 完成日期:2017年10月22日 
问题描述:试编写算法实现将字符串S中所有字符颠倒过来重新排序 void Trans(SqString *&s, char c1, char c2); 输入描述:无 程序输出:测试数据 
*/  #include "sqstring.h"      void Invert(SqString &s)  {       int a;        for (int i=0; i<s.length/2; i++)         {             a=s.data[s.length-i-1];             s.data[s.length-i-1]=s.data[i];             s.data[i]=a;         }    }  int main()  {      SqString s;      StrAssign(s, "messages");      Invert(s);      DispStr(s);      return 0;  }

运行结果:

问题及算法:

有两个串s1和s2,设计一个算法求一个这样的串,该串中的字符是s1和s2中公共字符。所谓公共子串,是由在s1中有,且在s2中也有的字符构成的字符。例s1为”message”,s2为”agent”,得到的公共子串是”eage”。

#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;  }
运行结果:


原创粉丝点击