一直都在想,但是没想明白
从终端输入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;
}
为什运行不出来啊,请各位大侠指点啊