注册 登录
编程论坛 C++教室

一直都在想,但是没想明白

Tlife 发布于 2011-10-09 19:11, 879 次点击
  从终端输入10个字符串,编程序,进行接龙处理(字符串不可以重复使用),并生成接龙后的整个串,并输出结果;并将剩余的、不能参加接龙的字符串按照从小到大的顺序排序后输出。
   例如,输入假设为“abstract”、“hello”、“May”、“trace” 、“may”、“edge”、“elephant”接龙的结果为“abstractracedgelephant”, 剩余的字符串排序后结果:“hello”、“May”和“may”。

#include<iostream>
#include<string>
using namespace std;
int main()
{
    char a[10][20]={"abstract","hello","May","trace","may","edge","elephant"};
    char b[10][20];
    char c[10][20]={"abstract","hello","May","trace","may","edge","elephant"};
    int len,i,n;
    for(i=0;i<10;i++)
    for (n=0;n<10;n++)
    {
        
        len=strlen(a[i]);
        if((a[i][len-1]=a[n][0])&&(n!=i))  //查找最后一个字符是否和其他的第一个字符相等
        {
            strcat(a[i],a[n]);//将两个字符连在一起
            strcpy(c[i],"\0");//把连接在一起的两个字符删去
            strcpy(c[n],"\0");//把连接在一起的两个字符删去
            strcpy(b[i],a[i]);//将连接在一起的字符串储存                       
            n=0;             // 在从第一个开始找是否有重复的
        }
    }
    for(i=0;i<10;i++) cout<<b[i];
    cout<<endl;
    for(i=0;i<10;i++) cout<<c[i];   
    return 0;
}
为什运行不出来啊,请各位大侠指点啊
5 回复
#2
naruto012011-10-09 19:45
既然包含了<string>,为什么不尝试使用std::string呢?
#3
小笨蛋一个2011-10-09 21:30
我还是喜欢在头文件加。h
#4
小笨蛋一个2011-10-09 21:38
只有本站会员才能查看附件,请 登录

那个n=0不需要中间你要连接的是a[i]和c[]的吧,这样能运行出来但是好像不对,不想改了,吼吼
#5
小笨蛋一个2011-10-09 21:41
而且判断那里应该是==一个=号是赋值哦~
#6
rjsp2011-10-10 08:24
以所有单词的首尾字母为节点,则形成一个有向图
问题是,你想输出这个有向图的所有路径,还是最长路径,还是任一路基?
1