欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串基础(将abc按等差形式输出)

程序员文章站 2022-05-29 16:01:24
...

问题 E: 求子串
同学们都知道,字符串的概念指的是:用引号“ ”括起来的一串有限序列的字符。而子字符串就是字符串内的字符序列。例如,字符串 “abc” 具有如下6个子字符串:“a”、“ab”、“abc”(本身也计算在内)、“b”、“bc”、“c”。
现在任意给出一个字符串,请同学们编一个程序输出每个不同的子串,并统计不同的子串的个数。
输入
只有一行,包含1个任意的字符串(其长度L≥5)
输出
共有若干行:
前若干行每行一个字符串为不同的子串;
最后一行为统计不同的子串的个数。
样例输入 Copy
abcde
样例输出 Copy
a
ab
abc
abcd
abcde
b
bc
bcd
bcde
c
cd
cde
d
de
e
15

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ios::sync_with_stdio(false);
    string s;
    cin >>s;
    int lens=s.size();
    for(int i=0;i<lens;i++)
    {
        for(int j=i,l=1;j<lens;j++,l++)
        {
            cout<<s.substr(i,l)<<"\n";
        }
    }
    ll sum=(lens+1)*lens/2;
    cout<<sum<<"\n";
    return 0;
}