zoukankan      html  css  js  c++  java
  • 字符串交叉插入

    将一个较短的字符串的字符交叉地插入到另一个较长的字符串中,每个字符以一定的间隔插入。该间隔=(长字符串长度/短字符串),即对两个字符串长度相除取整。例如:如果两个字符串等长(字符插入间隔=1),就将后输入的串的字符每隔一个字符插入先输入的串当中;被插入的字符串长度为12,待插入的字符串的长度为5,那么字符插入间隔为2,以此类推。请参考Sample Input和Sample Output。

    输入

    只有一组测试数据,两个字符串(它们的长度不会超过100)。

    输出

    输出1行信息,即插入后的新串。

    样例输入

    ABCDEFG abcdefg
    ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghi

    样例输出

    AaBbCcDdEeFfGg
    ABaCDbEFcGHdIJeKLfMNgOPhQRiSTUVWXYZ
    #include<iostream>   
    #include<cstring>   
    using namespace std;   
    int main()   
    {   
        int m, n, i, j, k; char f[100005], x[100005], y[100005];   
        while (cin >> x >> y)   
        {   
            m = strlen(x);   
            n = strlen(y);   
            k = m / n;   
            j = 0;   
            if (k == 0)   
            {   
                strcpy(f, x);   
                strcpy(x, y);   
                strcpy(y, f);   
                m = strlen(x);   
                n = strlen(y);   
                k = m / n;   
            }   
            for (i = 0; i < m; i++)   
            {   
                cout << x[i];   
                if ((i + 1) % k == 0 && j < n)   
                {   
                    cout << y[j];   
                        j++;   
                }   
        
            }   
            if (j < n)   
            for (i = j; i < n; i++)   
                cout << y[i];   
            cout << endl;   
        }   
        return 0;   
    }   
  • 相关阅读:
    可视化svg深入理解viewport、viewbox、preserveaspectradio
    async generator promise异步方案实际运用
    JavaScript中面相对象OOP
    css3:神秘的弹性盒子flexbox
    JavaScript:我总结的数组API
    CSS3:过渡大全
    CSS3奇特的渐变示例
    缓存:前端页面缓存、服务器缓存(依赖SQL)MVC3
    nohup
    video和audio
  • 原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838467.html
Copyright © 2011-2022 走看看