判断字符串包含多少给定同构字符串C++怎样实现

有一个字符串S,若是它有LS个字符,那么字符串可用字符数组S[1..LS]暗示。划定字符串S中的肆意两个字符可以互换位置,并且可以互换肆意多次,颠末互换之后的字符串称为字符串S的同构串。

此刻输入一个字符串C,长度为LC,字符串C可以暗示为C[1..LC]。对于字符串C的肆意长度是LS的一段(即子串),若是是字符串S的同构字符串,那么统计值加1,请统计出C中有几多个S的同构子串。

工具/原料

  • C++

方式/步骤

  1. 1

    输入数据,第1行为用来判定的同构字符串,要求每个字母都是小写。第2行是用来判定包含几多同构字符串的字符串,同样要求每个字符都是小写。

    输出数据,为统计出的包含同构字长符串的数目。

  2. 2

    首先,界说两个整型变量,保留判定的数和同构串计数。

  3. 3

    界说3字符串变量,保留用来判定的同构字符串和用来判定包含几多同构字符串的字符串,以及字符串的子串。

  4. 4

    界说两个整型变量,保留同构字符串中所有字母的数目。

  5. 5

    重置数组n的值,初值为0。

  6. 6

    输入两个字符串,包管在变量c和s中。

  7. 7

    统计字符串c中所有字母的个数,保留在数组n中。

  8. 8

    用for轮回判定字符串的所有子串,实现同构字符串的统计。

  9. 9

    截取字符串s的子串,保留在变量b中。

  10. 10

    用for轮回实现字符串b中所有字母数目的统计,保留在数组m中。

  11. 11

    判定字符串的子串,是否为同构子串。

  12. 12

    若是子串是同构子串,则统计值自加1。

  13. 13

    最后,输出字符串中包含的所有同构子串的数目。

  14. 14

    运行程序,输入两个字符串后,电脑就会统计出所有同构子串的数目。

  • 发表于 2019-04-20 20:01
  • 阅读 ( 352 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论