有空看看 一个关于字符串的问题
今天碰到了个问题,咋一看蛮简单,可是越想越觉得不简单,大家一起看看,什么样的算法简单又合适.输入几个字符串,求一个最小的字符串,包含全部输入的字符串.比如输入"abc","bcd","a","cda".则所求的串为" abcda"
输入的串的数目自己定义.
不用那么麻烦,新建一个字符数组,将输入的第一个字符串送他,然后就输入其他的字符串,到第一个字符串里查找插入就行了.
#include <stdio.h>
void cr(char *str,char ch)//一个字符如果不在str所指的字符串中,则将其插入到字符串的最后.
{
while(*str!='\0')
if(ch!=*str)
str++;
else
return;
*str=ch;*(str+1)='\0';
}
main()
{
char a[40],b[10],*p;
int sum; //定义输入的串的个数.
scanf("%d",&sum)
gets(a);
while(sum>0)
{
gets(b);
p=b;
whle(*p!='\0')
{ cr(a,*p);
p++;
}
sum--;
}
puts(a);
}