题目描述
输入字母构成的字符串(不大于30字符)从中读取3个不重复的字符,求所有取法,取出的字符串按升序排列。不同取法输出顺序可以不考虑。
输入
输入一串字符(不超过30个)
输出
从中读取3个不重复的字符,求所有取法,取出的字符串按升序排列。
样例输入
abcd
样例输出
abc
abd
acd
bcd
参考代码
#include<stdio.h>
#include<string.h>
int l;
void dfss(char str[],char ch[],int x,int k)
{
int i,j;
if (k==2)
{
for (i=0;i<=2;i++)
printf("%c",ch[i]);
printf("n");
return ;
}
for (i=x+1;i<=l;i++)
if (ch[k]<str[i])
{
ch[k+1]=str[i];
dfss(str,ch,i,k+1);
}
return ;
}
int main ()
{
int x,y,i,j;
char str[1000],ch[3];
gets(str);
l=strlen(str);
for (i=0;i<=l-3;i++)
{
ch[0]=str[i];
dfss(str,ch,i,0);
}
return 0;
}
解析
暂无