首页新闻找找看学习计划

问一个关于字符串的问题

0
悬赏园豆:10 [待解决问题]

想法是这样的。

假设有4个字符串。test  123  cnblog  com

想实现的输出结果是test123 123test  testcnblog  123com  com123  testcnblogcom 类似这样的。

除了N层循环外还有什么好办法呢。。

lazycoding的主页 lazycoding | 初学一级 | 园豆:125
提问于:2012-11-28 10:51
< >
分享
所有回答(5)
0

意义何在。。。

4个字符串就是4*3+4*3*2+4*3*2*1=60个

5个字符串就是5*4+5*4*3+5*4*3*2+5*4*3*2*1=320个

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-28 11:27
0

停留关注,期待有更好的方法

KivenRo | 园豆:1722 (小虾三级) | 2012-11-28 12:48
0

这个要用2层循环加一个递归!

方法a (数组 sz){

for(int i=1;i<sz.length-1;i++){

方法b (i,sz[i-1],sz);

}

}

//从每个字符串开始往后加出所有的

方法b (开始位置 s,字符串 st,数组 sz){

for(int j=s;j<sz.length;j++){

out(s+sz[j]);

}

s +=sz[s];

s++;

if(s>=sz.length)

return;

方法b (s,st,sz);//递归当前方法

}

-笨笨- | 园豆:240 (菜鸟二级) | 2013-03-01 10:16
0

其实这就是一个在C++中直接可以用string类型的字符串操作

下面是具体代码  我已经测试完成的   希望可以帮助到你的

还有什么问题可以问我的  希望大家共同能够进步

#include<iostream>

#include<string>

using namespace std;

int main()

{       string a1,a2,a3,a4;     

           a1="test";  

           a2="123";   

           a3="cnblog";  

            a4="com";   

    cout<<a1+a2<<' ';      

  cout<<a2+a1<<' ';     

   cout<<a4+a2<<' ';      

  cout<<a3+a4<<endl;    

     return 0;  

 }

Z240433360 | 园豆:202 (菜鸟二级) | 2013-03-24 23:35
0

怎么感觉像冒泡的排序比较啊。只不过把比较换成了字符串组合

编译真难 | 园豆:33 (初学一级) | 2013-09-18 17:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册